如何用cookie保存用戶的登錄的密碼和用戶名


思路:繪制一個簡單的登錄界面的Servlet並要在此頁面中讀取保存密碼和用戶名的cookie---》在登錄處理界面的servlet中把用戶名和密碼保存到cookie中

//登錄界面的Servlet的代碼如下:

package com.qls.view;

import java.io.IOException;
import java.io.PrintWriter;

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

public class Login extends HttpServlet {

public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {

response.setContentType("text/html;charset=utf-8");
PrintWriter out = response.getWriter();
/**
* 讀取cookie
* 只有cookie首先不為null才可進行讀取。
*
*/
String password="";
String username="";
if(request.getCookies()!=null){
for(Cookie cookie:request.getCookies()){
if(cookie.getName().equals("sixi")){
password=cookie.getValue();
}
if(cookie.getName().equals("river")){
username=cookie.getValue();
}
}
}
/**
* 登錄頁面
* LogicOperation
*/
out.println("<form action='/cookie/LogicOperation' method='post'>");
out.println("用戶名:<input type='text' name='username' value='"+username+"'/>");
out.println("密碼:<input type='password' name='password' value='"+password+"'/>");
out.println("是否保存cookie:<input type='checkbox' name='ouyangfeng' value='villageChief'/>");
out.println("<input type='submit' value='登錄'/>");
out.println("</form>");
}


public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {

response.setContentType("text/html;charset=utf-8");
PrintWriter out = response.getWriter();
this.doGet(request, response);
}

}

//登錄處理界面的servlet如下:

package com.qls.controller;

import java.io.IOException;
import java.io.PrintWriter;

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

public class LogicOperation 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");
/**
* 驗證用戶到底有沒有保存cookie
*/
String value = request.getParameter("ouyangfeng");
if(value!=null&&value.equals("villageChief")){
//把密碼保存在一個cookie中。
Cookie cookie=new Cookie("sixi", password);
//設置cookie的生命周期
cookie.setMaxAge(3600);//cookie的保存時間為1個小時
//回寫(就是把cookie保存到瀏覽器中的Temporary file文件)
response.addCookie(cookie);
/**
* 同理把用戶名保存到cookie中的代碼如下:
*/
//把密碼保存在一個cookie中。
Cookie cookie2=new Cookie("river", username);
//設置cookie的生命周期
cookie2.setMaxAge(3600);//cookie2的保存時間為1個小時
//回寫(就是把cookie2保存到瀏覽器中的Temporary file文件)
response.addCookie(cookie2);
// request.getRequestDispatcher("/Ok").forward(request, response);
response.sendRedirect("http://www.sohu.com/");//重定向到搜狐網站
}else{
response.sendRedirect("http://www.baidu.com");//重定向到百度首頁。
}
}


public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {

response.setContentType("text/html;charset=utf-8");
PrintWriter out = response.getWriter();
this.doGet(request, response);
}

}

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM