关于ResultSet.next()方法以及Cannot make a static reference to the non-static method setId(int) from the type User报错,求各路大神指导!!!
最近在做一份期末作业,使用的是eclipse、JavaEE、Tomcat,遇到了以下问题,百思不得其解,各种查询无果,在线求助!
在输入一个User后错误发生了改变(可能这个与修正无关,供审阅)
package action;
import java.io.IOException;
import java.io.PrintWriter;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.Cookie;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
import entity.User;
import java.util.*;
/**
* Servlet implementation class GetUserInfoAction
*/
@WebServlet("/GetUserInfoAction")
public class GetUserInfoAction extends HttpServlet {
private static final long serialVersionUID = 1L;
/**
* @see HttpServlet#HttpServlet()
*/
public GetUserInfoAction() {
super();
// TODO Auto-generated constructor stub
}
/**
* @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
*/
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// TODO Auto-generated method stub
//获取用户的输入
String uid=request.getParameter("id");
/*数据库操作*/
//加载驱动
User user=new User();
try {
Connection con=DriverManager.getConnection("jdbc:mysql://localhost:3306/1805_data","root","mysql,.0719");
//创建sql语句
String sql="select * from tuser where uid=?";
//创建数据库管理系统的代理并执行sql语句
PreparedStatement stmt=con.prepareStatement(sql);
stmt.setInt(1, Integer.parseInt(uid));
ResultSet rs= stmt.executeQuery();
//处理结果
while (rs.next()) {
User.setId(rs.getString(1));
User.setUname(rs.getString(2));
User.setUpwd(rs.getString(3));
}
rs.close();
stmt.close();
con.close();
} catch (ClassNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
//弹出提示信息,返回登录页
HttpSession ses=request.getSession();
ses.setAttribute("user", user);
response.sendRedirect("function/showUser.jsp");
}
/**
* @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
*/
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// TODO Auto-generated method stub
doGet(request, response);
}
}
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%@ page import="java.util.*" %>
<%@ page import="entity.User" %>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
<h3>用户列表</h3>
<table style="width:300px; border:1px;">
<tr><td>ID</td> <td>用户名</td> <td>密码</td> </tr>
<%
ArrayList<User> ulist=(ArrayList<User>)session.getAttribute("ulist");
for(int i=0;i<ulist.size();i++){
User u=ulist.get(i);
%>
<tr><td><%=u.getId() %></td> <td><%=u.getUname() %></td> <td><%=u.getUpwd() %></td>
<td><a href="../DelUserAction?id=<%=u.getId() %>">删除</a></td>
<td><a href="../GetUserInfoAction?id=<%=u.getId() %>">更新</a></td>
</tr>
<%
}
%>
</table>
</body>
</html>
package entity;
public class User {
private int Id;
private String uname;
private String upwd;
public Object User;
public int getId() {
return Id;
}
public void setId(int id) {
this.Id = id;
}
public String getUname() {
return uname;
}
public void setUname(String uname) {
this.uname = uname;
}
public String getUpwd() {
return upwd;
}
public void setUpwd(String upwd) {
this.upwd = upwd;
}
}