package com.lyq;
import java.io.PrintWriter;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
public class HelloServlet extends HttpServlet {
private static final long serialVersionUID = 3401372898610232752L;
public void doGet(HttpServletRequest req, HttpServletResponse resp){
String url = "jdbc:mysql://localhost:3306/test";
Connection con = null;
Statement stat = null;
ResultSet rs = null;
Boolean bool;
resp.setContentType("text/html;charset=gbk"); // 为解决打印出来的中文乱码
try{
PrintWriter pw = resp.getWriter();
try{
Class.forName("com.mysql.jdbc.Driver");
pw.println("mysql 驱动程序已加载 ...");
}
catch (Exception ex){
pw.println("无法加载mysql驱动程序" + ex.getMessage());
return;
}
try{
con = DriverManager.getConnection(url, "root", "qinliang");
stat = con.createStatement();
String sqlString = "select * from tb";
rs = stat.executeQuery(sqlString);
while (rs.next()){
String name = rs.getString("username");
String mima = rs.getString("password");
System.out.println(name);
}
if(true){
resp.sendRedirect(req.getContextPath()+"/1/success.jsp");
}
rs.close();
stat.close();
con.close();
}
catch (SQLException ex){
while (ex != null){
ex.printStackTrace(pw);
ex = ex.getNextException();
}
}
}
catch (Exception ex){
ex.printStackTrace();
}
}
}
为什么在while{}外边name无法解析为变量
servlet连接mysql
答案:1 悬赏:10
解决时间 2021-01-30 03:52
- 提问者网友:幽瑟玉琼情殇
- 2021-01-29 19:40
最佳答案
- 二级知识专家网友:飘零作归宿
- 2021-01-29 20:54
因为name定义是在while循环里的,这个变量的生命周期就是在while循环中,执行循环开始,name变量初始化,循环结束name变量被回收,所以你在循环外是无法访问name变量的,如果你想访问,必须将name变量放到while循环外进行定义。
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯