Servlet实现Cookie读写
前言
程序员老婆让程序员去外面买东西,说,老公,你出去买一笼包子吧,遇到卖西瓜的就买一个。老公高兴的出去了,一会儿带着一个包子回来了,老婆很是郁闷问,怎么只买了一个包子,程序员说:因为我看到卖西瓜的了。
内容
Cookie通过客户端http协议传输放到request里面,所以在那么可以从request拿到当初存放在里面的cookies。利用java里面封装好的cookie类,很容易实现数据共享。但是这种存放方式安全性很低,因为很容易读取到。所以,一些大型网站为了减轻服务器的压力,把一些个人不重要的服务信息加载到cookies里面,然后用户很方便获取到,会话结束的时候自动销毁,达到很好的数据读取效果。
采用servlet实现cookies读写方式:
写入cookies
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
Cookie c1 = new Cookie("password","123");
response.addCookie(c1); Cookie c2 = new Cookie("client_ip",request.getRemoteAddr()); //设置cookie的生命周期为一个小时,单位为秒
c2.setMaxAge(60*60);
response.addCookie(c2); response.getWriter().println("SetCookies OK!");
}
执行效果图
读取cookies
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException { Cookie[] Cookies = request.getCookies();
for(int i =0;i<Cookies.length;i++){
Cookie c = Cookies[i];
response.getWriter().println(c.getName() + "," + c.getValue());
}
}
执行效果图
当我们重新打开一个窗口或者清除cookies记录时候,再次读取,会出现以下错误,告诉我们空指针,没有读取到cookies值。说明,访问的时候,cookies是存放在客户端的,重新打开一个窗口,会中断此次的请求,cookies会失效。也可以手动清除cookies,安全性很低,但是很方便。
一个简单的小例子,很浅显,希望对大家有用。
小结
感谢您的宝贵时间···
Servlet实现Cookie读写的更多相关文章
- Java Web之Servlet及Cookie/Session
Servlet参考文献: 1.http://www.cnblogs.com/luoxn28/p/5460073.html 2.http://www.cnblogs.com/xdp-gacl/p/376 ...
- Servlet/JSP-05 Cookie
一. 问题? HTTP协议是一种无状态协议,服务器本身无法识别出哪些请求是同一个浏览器发出的,浏览器的每一次请求都是独立的.现实业务中服务器有时候需要识别来自同一个浏览器的一系列请求,例如购物车,登录 ...
- Servlet 利用Cookie实现一周内不重复登录
import java.io.IOException;import java.io.PrintWriter; import javax.servlet.ServletException;import ...
- 重新想象 Windows 8.1 Store Apps (90) - 通信的新特性: 通过 HttpBaseProtocolFilter 实现 http 请求的缓存控制,以及 cookie 读写; 自定义 HttpFilter; 其他
[源码下载] 重新想象 Windows 8.1 Store Apps (90) - 通信的新特性: 通过 HttpBaseProtocolFilter 实现 http 请求的缓存控制,以及 cooki ...
- JavaWeb学习记录总结(二十九)--Servlet\Session\Cookie\Filter实现自动登录和记住密码
一.Servlet package autologin.servlet.login; import java.io.IOException;import java.security.MessageDi ...
- 动手学servlet(四) cookie和session
Cookie cookie是保存在客户端的一个“键值对”,用来存储用户的一些信息 cookie的应用: -在电子商务会话中标识用户 -对网站进行定制,比如你经常浏览哪些内容,就展示哪些页面给你 - ...
- Servlet & JSP - Cookie
关于 Cookie 的内容,参考 HTTP - Cookie 机制 获取来自客户端的 cookie request.getCookies 方法可以获取来自 HTTP 请求的 cookie,返回的是 j ...
- Servlet 笔记-Cookie 处理
Cookie 是存储在客户端计算机上的文本文件,并保留了各种跟踪信息. 识别返回用户包括三个步骤: 服务器脚本向浏览器发送一组 Cookie.例如:姓名.年龄或识别号码等. 浏览器将这些信息存储在本地 ...
- servlet之cookie实现
三个servlet的实现: package app02c;import java.io.IOException;import java.io.PrintWriter;import javax.serv ...
随机推荐
- sax解析xml文件,封装到对象中
创建User.java类 public class User { private String id; private String name; private String age; private ...
- Unity内存优化
[Unity内存优化] 1.在Update方法或循环中,少用string类,因为string类的每次操作都会调用new生成新字符串对象.用StringBuilder代替string,StringBui ...
- sql解决主键冲突
在数据插入的时候,假设主键对应的值已经存在,则插入失败!这就是主键冲突.当主键存在冲突(duplicate key)的时候,可以选择性的进行处理,即忽略.更新或者替换. 1.忽略 insert ign ...
- 欲望都市游戏设计 背景图层和UI图层的设计
- 第二个MFC实例:GPA计算器
一.目的:此文通过一个GPA计算器的制作,介绍基于对话框的应用程序的编程方法.常用控件的编程技巧以及控件外观的更改技巧. 二.功能描述:所谓GPA计算器,即进行GPA换算. 功能要求由如下几点: 1. ...
- 高性能Web服务器Nginx的配置与部署研究(9)核心模块之HTTP模块基本常用指令
一.HTTP模块的作用是什么? Nginx的HTTP模块用于控制Nginx的HTTP进程. 二.指令 1. alias 含义:指定location使用的路径,与root类似,但不改变文件的跟路径,仅适 ...
- leetcode - database - 177. Nth Highest Salary (Oracle)
题目链接:https://leetcode.com/problems/nth-highest-salary/description/ 题意:查询出表中工资第N高的值 思路: 1.先按照工资从高到低排序 ...
- 最近公共祖先 LCA Tarjan算法
来自:http://www.cnblogs.com/ylfdrib/archive/2010/11/03/1867901.html 对于一棵有根树,就会有父亲结点,祖先结点,当然最近公共祖先就是这两个 ...
- rocketmq配置项说明(对应版本:4.0.0-incubating)
Broker配置参数说明 自定义客户端行为 ※一些默认配置的源代码路径 org.apache.rocketmq.store.config --END--
- [GO]goexit的使用
package main import "fmt" func test() { defer fmt.Println("cccccccccccc")//在函数退出 ...