jsp實現簡單用戶7天內免登錄
本文實例為大家分享了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); } }
以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持碩編程。
相關文章
- jsp+servlet實現文件上傳與下載功能
- EJB3.0部署消息驅動Bean拋javax.naming.NameNotFoundException異常
- 在JSP中使用formatNumber控制要顯示的小數位數方法
- 秒殺系統Web層設計的實現方法
- 將properties文件的配置設置為整個Web應用的全局變量實現方法
- JSP使用過濾器防止Xss漏洞
- 在JSP頁面中動態生成圖片驗證碼的方法實例
- 詳解JSP 內置對象request常見用法
- 使用IDEA編寫jsp時EL表達式不起作用的問題及解決方法
- jsp實現局部刷新頁面、異步加載頁面的方法
- Jsp中request的3個基礎實踐
- JavaServlet的文件上傳和下載實現方法
- JSP頁面的靜態包含和動態包含使用方法