浏览器访问网站首界面——到网站首界面indexServlet——判断用户是否登录-是时显示登录用户的信息点击“退出”-用户退出登录界面logoutServlet回到网站首界面IndexServlet—如果否就进入登录界面login.html——处理用户登录信息LoginServlet——判断用户名与密码是否正确-否就提示错误——是就到显示登录用户信息到“退出”
1.创建封装用户信息类
建包cn.itcast.chapter05.session.example02,编写user有username与password两个属性以及getter和setter方法
private String username;
private String password;
public String getUsername() {
return username;
}
public void setUername(String username) {
this.username=username;
}
public String getPassword() {
return password;
}
public void getPassword(String password) {
this.password=password;
}
2.编写IndexServlet类
乱码问题:response.setContentType("text/html;charset=utf-8");
创建或获取保存用户信息的session对象:HttpSession session= request.getSession();
User user=(User) session.getAttribute("user");
if (user==null) {
response.getWriter().print("您是没有登录,请<a href='/chapter05/login.html'>登录</a>");
}else {
response.getWriter().print("您已登录,欢迎你,"+user.getUsername()+"!");
response.getWriter().print("<a href='/chapter05/LogoutServlet'>退出</a>");
创建cookie存放session的标识符:Cookie cookie=new Cookie("JSESSIONID", session.getId());
cookie.setMaxAge(60*30);
cookie.setPath("/chapter05");
response.addCookie(cookie);
如果用户没有登录,看首界面会不会提示用户登录
3.建LoginServlet,假设正确的用户名,是itcast密码123:if (("itcast").equals(username) && ("123").equals(password)){
User user=new User();
user.setUername(username);
user.getPassword(password);
request.getSession().setAttribute("user",user);
看登录是否成功
4.创建LogoutServlet,用户注销功能
建session对象中user对象移除:request.getSession().removeAttribute("user");
response.sendRedirect("/chapter05/IndexServlet");
是否用户信息移除
5.创建登录页面
创建login.html: