使用Session完成用户登陆和注销(此程序不能运行,缺少主页与登陆页面)
//处理登陆请求
public class LoginServlet extends HttpServlet {
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
//从客户机提取数据
String username = request.getParameter("username");
String password = request.getParameter("password");
//检测用户名和密码在数据库中是否存在
List<User> list = DB.getAll();
for(User user : list){
if(user.getUsername().equals(username) && user.getPassword().equals(password)){
//从数据库中找到匹配用户,让用户登陆成功
//设置登陆标记
request.getSession().setAttribute("user", user);
//登陆后跳转首页
response.sendRedirect("/day07/index.jsp");
return;
}
}
//否则没有找到就告诉用户密码错误
response.setCharacterEncoding("UTF-8");
response.setContentType("text/html;charset=UTF-8");
response.getWriter().write("用户名或密码错误!!");
}
public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
doGet(request, response);
}
}
//模拟数据库
class DB{
private static List<User> list = new ArrayList();
static{
list.add(new User("aaa","123"));
list.add(new User("bbb","123"));
list.add(new User("ccc","123"));
list.add(new User("ddd","123"));
}
public static List getAll(){
return list;
}
}
public class User{
private String username;
private String password;
public User() {
super();
// TODO Auto-generated constructor stub
}
public User(String username, String password) {
super();
this.username = username;
this.password = password;
}
public String getUsername() {
return username;
}
public void setUsername(String username) {
this.username = username;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
}
//注销登陆用户
public class LogoutServlet extends HttpServlet {
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
//当session传入false后只会从内存中检索有没有session,没有就返回空,不创建。
HttpSession session = request.getSession(false);
if(session!=null){
//移除登陆标记
session.removeAttribute("user");
}
//注销后跳到首页
response.sendRedirect("/day07/index.jsp");
}
public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
doGet(request, response);
}
}
Session登录注销案例
最新推荐文章于 2024-02-03 23:49:38 发布