MakeCookie .java
package net.csdn.cookie;import java.io.IOException;
import java.io.PrintWriter;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 MakeCookie extends HttpServlet
{
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
makeCookie(response);}private void makeCookie(HttpServletResponse response)
throws IOException {
//为客户端指定显示编码
response.setContentType("text/html;charset=utf-8");PrintWriter out = response.getWriter();
//创建一个Cookie实例名字为"username",值为"lijizh1013"Cookie cookie = new Cookie("username","lijizh1013");
//为Cookie设置存活时间,默认的为到该浏览器关闭
cookie.setMaxAge(24*3600);
//为Cookie设置路径
cookie.setPath("/Cookie/MakeCookie");
//向浏览器写入Cookie
response.addCookie(cookie);out.println("Cookie已经写入到客户端!");
}
public void doPost(HttpServletRequest request, HttpServletResponse response
)throws ServletException, IOException {doGet(request, response);}}效果:
在浏览器发送请求前没有任何cookie文件
发送请求后:
获取Cookie的值:
getCookie(request, response);
具体如下:private void getCookie(HttpServletRequest request, HttpServletResponse response) throws IOException { 为浏览器设置显示编码 response.setContentType("text/html;charset=utf-8"); PrintWriter out = response.getWriter(); //通过 request.getCookies()返回一个Cookie数组对数组进行遍历得到具体的Cookie后,通过Cookie对象的getName()和getValue()方法得到Cookie的 //名和值 Cookie [] cookies = request.getCookies(); for(int i=0;cookies!=null && i<cookies.length;i++){ String cname = cookies[i].getName(); String cvalue = cookies[i].getValue(); out.println("获取Cookie"+cname+"――"+cvalue); }效果如图:一个关于获取用户访问时间的实例:
response.setContentType("text/html;charset=utf-8"); PrintWriter out = response.getWriter(); out.println("你上次访问的时间是:"); Cookie [] cookies = request.getCookies(); for(int i=0;cookies!=null && i<cookies.length;i++){ if(cookies[i].getName().equals("LastAccessName")){ long time = Long.valueOf(cookies[i].getValue()); Date date = new Date (time); out.println(date.toLocaleString()); } } Cookie cok = new Cookie("LastAccessName",System.currentTimeMillis()+""); cok.setMaxAge(1*3600); response.addCookie(cok);
效果如图:当用户第一访问时:
下一次再访问时:
再次访问时:
这样就可以通过Cookie得知浏览器上次访问的时间了,赶快自己试一试吧!
详细解决方案
深入感受JavaWeb开发内幕――由创建Cookie到Cookie的简单应用
热度:93 发布时间:2012-11-10 10:48:51.0
相关解决方案
- javaweb mvc 的demo
- 为啥session id 是保存在 客户端的 cookie 里的啊
- javaweb 图形控件 曲线拖动,该如何处理
- java EL Cookie 有关问题
- cookie 在liunx上获取不到
- jsp cookie 封存密码 用浏览器清除cookie 后再刷新发先cookie不空
- javaWeb input一定要放在表单里头嘛
- javaweb 怎么对超链接隐藏或者禁用
- cookie 如何保存和获取 剩余时间
- ASP的7个对象Session、Application、Cookie、Response、Request、Server不知是什么意思,经常混,如何用,多谢
- session 和 cookie 的有关问题
- Session Cookie without Secure flag set,该怎么解决
- Application/Session/ViewState/Cache/cookie 这几个对象可以存储的最大长度是多少,默认是多少?解决方案
- asp.net cookie 中文乱码解决方法
- 高分放送-求asp.net cookie 中文乱码有关问题
- 菜鸟 问一下 Cookie 和Session的有关问题
- cookie 为什么总也不过期解决方法
- 请问 cookie 跨域有关问题
- 请问:cookie 紧急有关问题
- 郁闷死了,登陆有关问题. cookie
- 告诉小弟我什么原因 COOKIE 有关问题
- 如果不设置 COOKIE 有效时间。那么他将与浏览器一直存在,除非关闭浏览器才失效?解决思路
- form 认证 cookie 永久保留有关问题
- 解释一下jquery.cookie 属性解决思路
- javaweb,该怎么处理
- 请问Javascript专家,怎么翻译:messing around with cookie
- cookie 鍜宻ession 鐨勫尯鍒??瑙
- jsp cookie
- jquery.cookie 在事件中无效,该如何解决
- IE 火狐狸 谷歌 缓存 cookie