用户登录 Login.jsp
LoginServlet indes.jsp LogoutServlet
Login.jsp
<form action="/javaweb07/servlet/LoginServlet"
method="post">
用户名:<input type="text" name="username"><br>
密
码:<input type="password" name="password"><br>
<input type="submit" value="登陆"><br>
</form>
LoginServlet
public void doGet(HttpServletRequest request,
HttpServletResponse response)
throws ServletException, IOException {
response.setContentType("text/html;charset=utf-8");
PrintWriter out = response.getWriter();
request.setCharacterEncoding("utf-8");
//
获取请求参数
用户名和密码
String username = request.getParameter("username");
String password = request.getParameter("password");
//
验证
User user = UserDB.find(username);
if(user==null) {
out.write("用户名不存在");
} else if(!password.equals(user.getPassword()))
{
out.write("密码错误");
} else {
//
登陆成功
//
将user存起来,请求重定向
request.getSession().setAttribute("user", user);
response.sendRedirect("/javaweb07");
}
}
Index.jsp
欢迎你!${user.username }
<a href="/javaweb07/servlet/LogoutServlet">退出登陆</a>
LogoutServlet
public void doGet(HttpServletRequest request,
HttpServletResponse response)
throws ServletException, IOException {
//
获得session
HttpSession session = request.getSession();
//
销毁session
//session.invalidate();
//
退出登陆应该将user对象从session域中移除
session.setAttribute("user", null);
//
请求重定向到首页
response.sendRedirect("/javaweb07");
}
public class UserDB {
private static Map map = new HashMap();
static {
map.put("zhangsan", new User("zhangsan", "123456"));
map.put("wangwu", new User("wangwu", "123456"));
map.put("lisi", new User("lisi", "888888"));
map.put("liuying", new User("liuying", "888888"));
}
public static User find(String username) {
return (User) map.get(username);
}
}
public class User {
private String username;
private String password;
public User(String username, String password)
{
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;
}
}
|