分享

用session实现用户登录

 fengshenwonder 2015-11-02

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

    }

}

 

 

 

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多