java链接数据库没有问题,加上servlet就出问题了
这是代表驱动版本不对吧?但我检查过mysql和驱动版本一致
以下为主要代码
servlet
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// TODO Auto-generated method stub
HttpSession session=request.getSession();
session.setAttribute("id",request.getParameter("id"));
DBConnTools qwq=new DBConnTools();
qwq.setId(session.getAttribute("id").toString());
//System.out.println(session.getAttribute("id"));//验证
try {
qwq.connect();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
request.setAttribute("sno",qwq.getSno());
request.setAttribute("name",qwq.getName());
request.setAttribute("sex",qwq.getSex());
request.setAttribute("birth",qwq.getBirth());
request.setAttribute("dept",qwq.getDept());
request.setAttribute("memo",qwq.getMemo());
request.getRequestDispatcher("output.jsp").forward(request, response);
}
}
javabean
public class DBConnTools {
private String id;
private String sno;
private String name;
private String sex;
private String birth;
private String dept;
private String memo;
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getSex() {
return sex;
}
public void setSex(String sex) {
this.sex = sex;
}
public String getBirth() {
return birth;
}
public void setBirth(String string) {
this.birth = string;
}
public String getDept() {
return dept;
}
public void setDept(String dept) {
this.dept = dept;
}
public String getMemo() {
return memo;
}
public void setMemo(String memo) {
this.memo = memo;
}
public String getSno() {
return sno;
}
public void setSno(String sno) {
this.sno = sno;
}
public void connect()throws SQLException{
Connection connection=null;
Statement statement=null;
try {
//setId("0602001");
Class.forName("com.mysql.cj.jdbc.Driver");
String url="jdbc:mysql://localhost:3306/123?useUnicode=true&characterEncoding=utf-8&serverTimezone=GMT%2B8";
String user="root";
String password="22340266";
connection=DriverManager.getConnection(url,user,password);
statement=connection.createStatement();
String sql="select * from student where sno="+getId()+"";
ResultSet rs=statement.executeQuery(sql);
while(rs.next()) {
setSno(rs.getString(1));
setName(rs.getString(2));
setSex(rs.getString(3));
setBirth(rs.getString(4));
setDept(rs.getString(5));
setMemo(rs.getString(6));
}
} catch (ClassNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
jar包是什么版本的,有没有加到项目
debug会吗,跟一下代码就知道哪里有问题了
如果你确定你的已经放入了正确版本的 jar 包,但是还是提示 ClassNotFund,那么说明是 IDE 没有识别到你导入的包。你好像没有用 maven,所以你需要搜搜 eclipse 导入三方 jar 包。有时候不是你将 jar 包放到项目中,IDE 就知道你需要使用这个 jar 包。
jdbc驱动放到classpath下没
您好,我是有问必答小助手,您的问题已经有小伙伴解答了,您看下是否解决,可以追评进行沟通哦~
如果有您比较满意的答案 / 帮您提供解决思路的答案,可以点击【采纳】按钮,给回答的小伙伴一些鼓励哦~~
ps:问答VIP仅需29元,即可享受5次/月 有问必答服务,了解详情>>>https://vip.csdn.net/askvip?utm_source=1146287632