Cookie的用法
2015-07-01 18:55
302 查看
在登录的时候总是要填写用户名和密码,这样有时觉得繁琐,想要浏览器记住我的用户名和密码,可以通过cookie的方式实现:
package com.servlet;
import java.io.IOException;
import java.io.PrintWriter;
import java.text.SimpleDateFormat;
import java.util.Date;
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 LoginServlet2 extends HttpServlet {
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
doPost(request,response);
}
public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
//处理中文乱码
request.setCharacterEncoding("utf-8");
response.setCharacterEncoding("utf-8");
response.setContentType("text/html");
PrintWriter out = response.getWriter();
out.println("<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\">");
out.println("<HTML>");
out.println(" <HEAD><TITLE>A Servlet</TITLE></HEAD>");
out.println(" <BODY>");
//获得提交的数据
String name=request.getParameter("name");
String pass=request.getParameter("pass");
String times=request.getParameter("times");
//获得时间
Date ti=new Date();
//转换时间格式
SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
String datetime=sdf.format(ti);
//定义有效期
int i=0;
if(times.equals("1")){
i=24*60*60;
}else if(times.equals("2")){
i=24*60*60*7;
}else if(times.equals("3")){
i=24*60*60*30;
}else if(times.equals("4")){
i=24*60*60*365;
}else if(times.equals("5")){
i=Integer.MAX_VALUE;
}else{
response.getWriter().print("<scipt>alert('ERROR');history.back();</scipt>");
}
//将name,pass.times保存到coike
Cookie cookieName=new Cookie("name",name);
Cookie cookiePass=new Cookie("pass",pass);
//Cookie cookieDatetime=new Cookie("datetime",datetime);
Cookie cookieTimes=new Cookie("times",datetime);
cookieTimes.setMaxAge(i);
response.addCookie(cookieName);
response.addCookie(cookiePass);
response.addCookie(cookieTimes);
//获得所有的cookie
Cookie AllCookie[]=request.getCookies();
for(int j=0;j<AllCookie.length;j++){
if(!"JSESSIONID".equalsIgnoreCase(AllCookie[j].getName())){
if(name.equals("")||pass.equals("")){
response.getWriter().print("<script>alert('ERROE');history.back();</script>");
}else{
if("name".equalsIgnoreCase(AllCookie[j].getName()))
out.print("登录名:"+AllCookie[j].getValue());
if("pass".equalsIgnoreCase(AllCookie[j].getName()))
out.print("密码:"+AllCookie[j].getValue());
if("times".equalsIgnoreCase(AllCookie[j].getName()))
out.print("登录时间:"+AllCookie[j].getValue());
}
}
}
out.println(" </BODY>");
out.println("</HTML>");
out.flush();
out.close();
}
/**
* Initialization of the servlet. <br>
*
* @throws ServletException if an error occurs
*/
public void init() throws ServletException {
// Put your code here
}
}
package com.servlet;
import java.io.IOException;
import java.io.PrintWriter;
import java.text.SimpleDateFormat;
import java.util.Date;
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 LoginServlet2 extends HttpServlet {
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
doPost(request,response);
}
public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
//处理中文乱码
request.setCharacterEncoding("utf-8");
response.setCharacterEncoding("utf-8");
response.setContentType("text/html");
PrintWriter out = response.getWriter();
out.println("<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\">");
out.println("<HTML>");
out.println(" <HEAD><TITLE>A Servlet</TITLE></HEAD>");
out.println(" <BODY>");
//获得提交的数据
String name=request.getParameter("name");
String pass=request.getParameter("pass");
String times=request.getParameter("times");
//获得时间
Date ti=new Date();
//转换时间格式
SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
String datetime=sdf.format(ti);
//定义有效期
int i=0;
if(times.equals("1")){
i=24*60*60;
}else if(times.equals("2")){
i=24*60*60*7;
}else if(times.equals("3")){
i=24*60*60*30;
}else if(times.equals("4")){
i=24*60*60*365;
}else if(times.equals("5")){
i=Integer.MAX_VALUE;
}else{
response.getWriter().print("<scipt>alert('ERROR');history.back();</scipt>");
}
//将name,pass.times保存到coike
Cookie cookieName=new Cookie("name",name);
Cookie cookiePass=new Cookie("pass",pass);
//Cookie cookieDatetime=new Cookie("datetime",datetime);
Cookie cookieTimes=new Cookie("times",datetime);
cookieTimes.setMaxAge(i);
response.addCookie(cookieName);
response.addCookie(cookiePass);
response.addCookie(cookieTimes);
//获得所有的cookie
Cookie AllCookie[]=request.getCookies();
for(int j=0;j<AllCookie.length;j++){
if(!"JSESSIONID".equalsIgnoreCase(AllCookie[j].getName())){
if(name.equals("")||pass.equals("")){
response.getWriter().print("<script>alert('ERROE');history.back();</script>");
}else{
if("name".equalsIgnoreCase(AllCookie[j].getName()))
out.print("登录名:"+AllCookie[j].getValue());
if("pass".equalsIgnoreCase(AllCookie[j].getName()))
out.print("密码:"+AllCookie[j].getValue());
if("times".equalsIgnoreCase(AllCookie[j].getName()))
out.print("登录时间:"+AllCookie[j].getValue());
}
}
}
out.println(" </BODY>");
out.println("</HTML>");
out.flush();
out.close();
}
/**
* Initialization of the servlet. <br>
*
* @throws ServletException if an error occurs
*/
public void init() throws ServletException {
// Put your code here
}
}
相关文章推荐
- cookie的secure属性详解
- 浏览器 cookie 限制
- 深入解析Session是否必须依赖Cookie
- 新手菜鸟必读:session与cookie的区别
- ASP.NET Cookie 操作实现
- php中cookie的作用域
- 写入cookie的JavaScript代码库 cookieLibrary.js
- ie7下利用ajax跨域盗取cookie的解决办法
- js 通过cookie实现刷新不变化树形菜单
- 详谈javascript中的cookie
- 不要在cookie中使用特殊字符的原因分析
- cookie在javascript中的使用技巧以及隐私在服务器端的设置
- 二级域名Cookie问题的解决方法
- 关于二级域名下使用一级域名下的COOKIE的问题
- 浅析Cookie中的Path与domain
- cookie中的path与domain属性详解
- jQuery控制cookie过期时间的方法
- jquery.cookie() 方法的使用(读取、写入、删除)
- jquery.cookie用法详细解析