Servlet技术:Cookie
Cookie
Cookie是由服务端产生的,再发送给客户端保存的一组数据。
Web应用程序是使用HTTP协议传输数据的。HTTP协议是无状态的协议。一旦数据交换完毕,客户端与服务器端的连接就会关闭,再次交换数据需要建立新的连接。这就意味着服务器无法从连接上跟踪会话。
Cookie的作用
比如客户端访问服务端,第一次访问结束后,我就会产生一个Cookie,把这个Cookie保留到客户端,例如:我第一次打开一个网页去看一个视频,它就需要网络或上网流量请求服务器获取资源,看完后服务端就会将你看的这个视频放到一个Cookie里面,然后发送给客户端,我下次再去看这个视频的时候,我就无需连接网络直接在本地即可观看。
Cookie在本地以key-value的形式存在。
//Servlet中添加Cookie
Cookie coo = new Cookie("key", "value");//创建一个键值对的cookie对象
coo.setMaxAge(60*60*24*7);//设置cookie的生命周期
response.addCookie(coo);//添加到response中
//获取Cookie
Cookie coo[] = request.getCookies();//获取request中cookie集合
for (Cookie co : coo) {
System.out.println(co.getName() + ":" + co.getValue());
}
例:
package cn.xtnotes.servlet;
import java.io.IOException;
import java.io.PrintWriter;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.Cookie;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
public class Servlet6 extends HttpServlet {
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
request.setCharacterEncoding("utf-8"); //设置请求数据编码
response.setCharacterEncoding("utf-8");//设置响应数据编码
//
Cookie cookie1=new Cookie("name","张三");
Cookie cookie2=new Cookie("age","123");
response.addCookie(cookie1);
cookie1.setMaxAge(15); //设置cookie保留时间为15秒
response.addCookie(cookie2);
cookie1.setMaxAge(15);
//获取cookie
Cookie[] cookies=request.getCookies();
for(Cookie coo:cookies) {
System.out.println(coo.getName()+coo.getValue());
}
}
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
doGet(request, response);
}
}
阅读剩余
版权声明:
作者:Tin
链接:http://www.tinstu.com/476.html
文章版权归作者所有,未经允许请勿转载。
THE END