cookie簡單登錄實例

(1)登錄頁面

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>用戶登錄</title>
</head>
<body>
<form action="login.do">
126郵箱登錄<br/><br/>
用戶名:<input type="test" name="username"><br/>
密碼:<input type="test" name="password"><br/>
<select name="save Time">
 <option value="366">一年</option>
 <option value="183">半年</option>
 <option value="30">一個月</option>
 <option value="7">一週</option>
 <option value="1">一天</option>
</select><br/>
<input type="submit" value="登錄">
</form>
</body>
</html>

 

(2)錯誤頁面

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>失敗了</title>
</head>
<body>
Login failure<br/>
</body>
</html>

 

 

(3)登錄成功後的頁面

 

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>測試cookie</title>
</head>
<body>
<h2>登錄成功,歡迎${username}的到來126郵箱 </h2><br/>
<h3>測試cookie的功能</h3>
</body>
</html>

 

(4)Servlet

package com.sky.course;

 

import java.io.IOException;

import javax.servlet.ServletException;
import javax.servlet.http.Cookie;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import com.sky.cookie.CheckLogin;

public class LoginServlet extends HttpServlet{
 /**
  *
  */
 private static final long serialVersionUID = 1L;

 public void doGet(HttpServletRequest request,HttpServletResponse response)throws ServletException,IOException{
  this.doPost(request,response);
 }
 
 public void doPost(HttpServletRequest request,HttpServletResponse response)throws ServletException,IOException{
  String username=request.getParameter("username");
  String password=request.getParameter("password");
  String savetime=request.getParameter("save Time");
  System.out.println("username"+username+"password"+password);
  if(CheckLogin.login(username, password)){//登錄是否成功
   if(null!=savetime){
    int saveTime=Integer.parseInt(savetime);
    int seconds=saveTime*24*60*60;
    Cookie cookie=new Cookie("user",username+"=="+password);
//    cookie.setMaxAge(10*60*60);//最大過期時間
    cookie.setMaxAge(seconds);
    response.addCookie(cookie);
   }
   request.setAttribute(username, username);
   request.getRequestDispatcher("/main126.jsp").forward(request, response);
  }else{
   request.getRequestDispatcher("/failure.jsp").forward(request, response);
  }
 }
}

 

 

(5)CheckLogin

 

package com.sky.cookie;


public class CheckLogin {
 public static boolean login(String username,String password){
  if("admin".equals(username)&&"123456".equals(password)){
   return true;
  }else{
   return false;
  }
 }
}

 

 

(6)IndexFilter

 

package com.sky.course;

import java.io.IOException;

import javax.servlet.Filter;
import javax.servlet.FilterChain;
import javax.servlet.FilterConfig;
import javax.servlet.ServletException;
import javax.servlet.ServletRequest;
import javax.servlet.ServletResponse;
import javax.servlet.http.Cookie;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import com.sky.cookie.CheckLogin;

public class IndexFilter implements Filter{
 public void destroy(){
  
 }

 public void doFilter(ServletRequest arg0, ServletResponse arg1,FilterChain arg2) throws IOException, ServletException {
  System.out.println("every request pass here!!!");
  HttpServletRequest request=(HttpServletRequest)arg0;
  HttpServletResponse response=(HttpServletResponse)arg1;
  Cookie[] cookies=request.getCookies();
  String[] cooks=null;
  String username=null;
  String password=null;
  if(cookies!=null){
   for(Cookie coo:cookies){
    String aa=coo.getValue();
    cooks=aa.split("==");
    if(cooks.length==2){
     System.out.println(cooks[0]+cooks[1]);
     username=cooks[0];
     password=cooks[1];
    }
   }
  }
  System.out.println("cookie username|"+username);
  System.out.println("cookie password|"+password);
  if(CheckLogin.login(username, password)){
   System.err.println("check successfully cookie data");
   request.getSession().setAttribute("username", username);
   System.out.println("--------------測試cookie:");
   request.getRequestDispatcher("/main126.jsp").forward(request, response);
  }else
   arg2.doFilter(request, response);
 }

 public void init(FilterConfig arg0) throws ServletException {
 }
}

 

 

(7)web.xml

<?xml version="1.0" encoding="UTF-8"?>
<web-app id="WebApp_ID" version="2.4" xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">
 <display-name>cookie</display-name>
   <filter>
  <filter-name>loginFilter</filter-name>
  <filter-class>com.sky.course.IndexFilter</filter-class>
 </filter>
 <filter-mapping>
  <filter-name>loginFilter</filter-name>
  <url-pattern>/login.html</url-pattern>
 </filter-mapping>
 
 <servlet>
  <servlet-name>loginServlet</servlet-name>
  <servlet-class>com.sky.course.LoginServlet</servlet-class>
 </servlet>
 <servlet-mapping>
  <servlet-name>loginServlet</servlet-name>
  <url-pattern>/login.do</url-pattern>
 </servlet-mapping>
 <welcome-file-list>
  <welcome-file>login.html</welcome-file>
 </welcome-file-list> 
 <welcome-file-list>
  <welcome-file>main126.jsp</welcome-file>
 </welcome-file-list>
</web-app>


此文件在網上摘抄在此分享給大家

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章