servlet 用session实现用户登录



servlet 用session实现用户登录 。

用户登录 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;
}
}

http://blog.sina.com.cn/s/blog_666a2f670100pqky.html