说明:用户登录使用用户名和密码,id为主键
首先,在检查登录的方法中设置返回值为id:
public int checkLogin(String username, String password) {
// TODO Auto-generated method stub
int id = 0;
Connection con = null;
Statement st = null;
ResultSet rs = null;
try {
con = DBOperator.getConnection();
st = con.createStatement();
String sql = "select * from competitor where username ='" + username + "'";
rs = st.executeQuery(sql);
while (rs.next()) {
if(rs.getString("password").equals(password))
id = rs.getInt("id");
}
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
finally {
DBOperator.close(rs, st, con);
}
return id;
}然后,在登录的servlet中主要代码如下: String username = request.getParameter("username");
String password = request.getParameter("password");
request.getSession().setAttribute("username", username);
CompetitorManager c = new CompetitorManagerImpl();
int flag = c.checkLogin(username, password);
if(flag != 0 ) {
request.getSession().setAttribute("id", flag);
response.sendRedirect("UManager.jsp");
}在jsp页面调用session中的值:
${sessionScope.id}在其他servlet中获得session中的值:
int competitorId = (Integer) request.getSession().getAttribute("id");
本文介绍了一种基于用户名和密码的用户登录验证方法。通过数据库查询匹配用户信息,并使用session保存登录状态,确保用户后续操作的有效性和安全性。

1220

被折叠的 条评论
为什么被折叠?



