zoukankan      html  css  js  c++  java
  • Session 案例:简单完成登录功能

    1,LoginServlet.java 登录Servlet  用Session保存登陆成功用户,代码如下:

    import java.io.IOException;  
    import java.io.PrintWriter;  
    import javax.servlet.ServletException;  
    import javax.servlet.http.HttpServlet;  
    import javax.servlet.http.HttpServletRequest;  
    import javax.servlet.http.HttpServletResponse;  
    public class LoginServlet extends HttpServlet {  
        public void doGet(HttpServletRequest request, HttpServletResponse response)  
                throws ServletException, IOException {    
                response.setContentType("text/html;charset=UTF-8");  
                PrintWriter out = response.getWriter();   
                String username = request.getParameter("username");  
                String password = request.getParameter("password");  
                  
                User user=DB.find(username, password);  
                if(user==null){  
                    out.write("用户名或密码有误.");  
                    return;  
                }  
                request.getSession().setAttribute("user", user);//让用户Session中存一标记登陆成功   
                response.sendRedirect("/MyWebStart/index.jsp");  
        }  
      
          
        public void doPost(HttpServletRequest request, HttpServletResponse response)  
                throws ServletException, IOException {  
      
            doGet(request, response);  
        }  
      
    }  

    2,User类存储用户名和密码,代码如下:

    public class User {  
        private String username;  
        private String password;  
        public User() {  
            super();  
        }  
        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;  
        }  
    }  

    3,DB类,模拟数据库实现简单的存储用户名和密码,代码如下:

    import java.util.ArrayList;  
    import java.util.List;  
      
    public 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"));  
        }  
        public static User find(String username,String password){  
            for(User user:list){  
                if(user.getUsername().equals(username)&&user.getPassword().equals(password)){  
                    return user;  
                }  
            }  
            return null;  
              
        }  
    }  

    4,Login.html

    <body>  
        <form action="/MyWebStart/servlet/LoginServlet" method="post">  
            用户名:<input type="text" name="username"></br>  
            密码:<input type="password" name="password"></br>  
            <input type="submit" value="提交">  
        </form>  
    </body>

    5,index.jsp

    <%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>  
    <%@page import="com.lich.sample.login.User"%>  
      
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">  
    <html>  
      <head>      
        <title>Index.jsp</title>  
        <meta http-equiv="pragma" content="no-cache">  
        <meta http-equiv="cache-control" content="no-cache">  
        <meta http-equiv="expires" content="0">      
        <meta http-equiv="keywords" content="keyword1,keyword2,keyword3">  
        <meta http-equiv="description" content="This is my page">  
        <!-- 
        <link rel="stylesheet" type="text/css" href="styles.css"> 
        -->  
      </head>  
      <body>  
            欢迎您:<%   
                    User user = (User)session.getAttribute("user");  
                    if(user!=null)out.write(user.getUsername());  
                  %>  
                  来访网站</br>  
                  <a href="/MyWebStart/Login.html">登陆</a>  
      </body>  
    </html>  
  • 相关阅读:
    jquerymobile 的特有 事件 和 方法 (转)
    JQueryMobile开发必须的知道的知识(转)
    Google地图之OverlayView使用(自定义叠加层)
    [TPYBoard
    [TPYBoard
    [TPYBoard
    【micropython】用python来进行BadUSB的USB-HID测试(含无线控制)
    利用51单片机制作廉价盒仔机器人
    linux 的内核的作用和功能
    计算机操作系统中的硬件资源和软件资源都包括哪些
  • 原文地址:https://www.cnblogs.com/lichone2010/p/3128178.html
Copyright © 2011-2022 走看看