当前位置 博文首页 > jsp实现简单用户7天内免登录

    jsp实现简单用户7天内免登录

    作者:一只小小的蚂蚁 时间:2021-08-16 18:59

    本文实例为大家分享了jsp实现简单用户7天内免登录的具体代码,供大家参考,具体内容如下

    (1)登陆页面:login.jsp

    <%@ page language="java" contentType="text/html; charset=utf-8"
      pageEncoding="utf-8"%>
    <!DOCTYPE html>
    <html>
    <head>
    <meta charset="utf-8">
    <title>Insert title here</title>
    </head>
    <body>
    <form action="LoginServlet" method="post">
      用户名:<input type="text" name="username" value="${cookie.cook_name.value }"/><br/>
      <input type="checkbox" name="chkCookie" value="7"/>记住我,7天内免登录<br/>
      <input type="submit" value="登录"/><br/>
      <a href="sessionUser.jsp" rel="external nofollow" >验证session</a>
      <a href="cookieUser.jsp" rel="external nofollow" >验证cookie</a>
    </form>
    </body>
    </html>

    (2)跳转页面:cookieUser.jsp

    <%@ page language="java" contentType="text/html; charset=utf-8"
      pageEncoding="utf-8"%>
    <!DOCTYPE html>
    <html>
    <head>
    <meta charset="utf-8">
    <title>Insert title here</title>
    </head>
    <body>
    <% 
       //从浏览器获取cookie
       Cookie[] cookies = request.getCookies();
    
       String uname = null;
       
       //判断语句条件小技巧
       if(null != cookies){
        for(Cookie cookie:cookies){
       //遍历本地浏览器中的所有cookie
       if(cookie.getName().equals("cook_name")){
        //把cookie中的用户名取出
        uname = cookie.getValue();
       }
       //out.print("<p>name: " + cookie.getName()+"</p>");
       //out.print("<p>value: " + cookie.getValue()+"</p>");
        
       }
        
        }
       //判断cookie有没有失效
       if(null != uname){
       out.print("<p>用户名:"+uname +"</p>");
       }
       else{
       response.sendRedirect("login.jsp");
       }
    %>
    </body>
    </html>

    (3)Servlet文件:LoginServlet类

    package com.servlet;
    
    import java.io.IOException;
    import javax.servlet.ServletException;
    import javax.servlet.annotation.WebServlet;
    import javax.servlet.http.Cookie;
    import javax.servlet.http.HttpServlet;
    import javax.servlet.http.HttpServletRequest;
    import javax.servlet.http.HttpServletResponse;
    import javax.servlet.http.HttpSession;
    
    /**
     * Servlet implementation class LoginServlet
     */
    @WebServlet("/LoginServlet")
    public class LoginServlet extends HttpServlet {
     private static final long serialVersionUID = 1L;
        
      /**
       * @see HttpServlet#HttpServlet()
       */
      public LoginServlet() {
        super();
        // TODO Auto-generated constructor stub
      }
    
     /**
     * @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
     */
     protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
     // TODO Auto-generated method stub
     //获取用户登录名
     String username = request.getParameter("username");
     
     //获取7天内是否免登录
     String day7 = request.getParameter("chkCookie");
     int cookie_day = 1;
     if(null != day7 && day7.equals("")){
      
      cookie_day = Integer.valueOf(day7);
     }
     
     //创建cookie
     Cookie cookie = new Cookie("cook_name",username);
     
     //设置Cookie有限期
     //cookie.setMaxAge(6);//有效期6秒
     cookie.setMaxAge(3600 * 24 * cookie_day);//设置7天免登录
     
     //写入cookie到浏览器
     response.addCookie(cookie);
     response.sendRedirect("cookieUser.jsp");
     
     
     }
    
     /**
     * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
     */
     protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
     // TODO Auto-generated method stub
     doGet(request, response);
     }
    
    }
    jsjbwy
    下一篇:没有了