2021-07-29

java web-cookie session

java web-cookie session

1、cookie

Cookie 是一个保存在客户机中的简单的文本文件, 这个文件与特定的 Web 文档关联在一起, 保存了该客户机访问这个Web 文档时的信息, 当客户机再次访问这个 Web 文档时这些信息可供 该文档使用。由于"Cookie"具有可以保存在客户机上的神奇特性, 因此它可以帮助我们实现记录 用户个人信息的功能, 而这一切都不必使用复杂的CGI等程序。Cookie是一段不超过4KB的小型 文本数据,由一个名称(Name)、一个值(Value)和其它几个用于控制Cookie有效期、安 全性、使用范围的可选属性组成。

下面编写CookieServlet测试简单的cookie属性:
package com.zx.demo;

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

import java.io.IOException;

public class CookieServlet extends HttpServlet {
private static final String COOKIE_KEY_COUNT = "COOKIE_KEY_COUNT";

@Overrideprotected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { //处理中文乱码 resp.addHeader("content-type", "text/html;charset=utf-8"); Cookie cookie = null; Cookie[] cookies = req.getCookies(); for (Cookie c : cookies) {  if (c.getName().equals(COOKIE_KEY_COUNT)) {   cookie = c;  } } if (cookie == null) {  resp.getWriter().write("没有cookie");  cookie = new Cookie(COOKIE_KEY_COUNT, 2 + ""); } else {  resp.getWriter().write("有cookie:<br/>&nbsp;&nbsp;&nbsp;&nbsp;" + cookie.getValue()); } //cookie值-1 int cookieValue = Integer.parseInt(cookie.getValue()) - 1; cookie.setValue(cookieValue+""); if (cookieValue <= 0) {  //设置有效期为0-清除cookie  cookie.setMaxAge(0); } resp.addCookie(cookie);}

}


配置web.


运行程序,首次启动浏览器时,请求头中没有cookie,Java中会在响应头中设置一个值为1的cookie给客户端,下次刷新请求时将在请求header中请求到服务端。


刷新浏览器请求,请求header中出现了上次设置给客户端的cookie:1。此时Java程序会设置时效为0的cookie,客户端收到后会清除该cookie,再下次请求时header中将没有自定义cookie(和首次启动浏览一样)。cookie失效时间如果不设置,默认的将会在关闭浏览器时自动清理。


2、session

Session:在计算机中,尤其是在网络应用中,称为"会话控制"。Session对象存储特定用户会话所需的 属性及配置信息。这样,当用户在应用程序的Web页之间跳转时,存储在Session对象中的变量将不会丢 失,而是在整个用户会话中一直存在下去。当用户请求来自应用程序的 Web页时,如果该用户还没有会话 ,则Web服务器将自动创建一个 Session对象。当会话过期或被放弃后,服务器将终止该会话。Session 对象最常见的一个用法就是存储用户的首选项。例如,如果用户指明不喜欢查看图形,就可以将该信息存储 在Session对象中。有关使用Session 对象的详细信息,请参阅"ASP应用程序"部分的"管理会话"。注意 会话状态仅在支持cookie的浏览器中保留。

编写Java代码,实现简单session属性验证:
package com.zx.demo;

import jakarta.servlet.ServletException;
import jakarta.servlet.http.HttpServlet;
import jakarta.servlet.http.HttpServletRequest;
import jakarta.servlet.http.HttpServletResponse;
import jakarta.servlet.http.HttpSession;

import java.io.IOException;

public class SessionServlet extends HttpServlet {
private static final String SESSION_KEY = "SESSION_KEY";

@Overrideprotected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { resp.addHeade......

原文转载:http://www.shaoqun.com/a/892327.html

跨境电商:https://www.ikjzd.com/

三维度科技:https://www.ikjzd.com/w/1312

imgur:https://www.ikjzd.com/w/156

barclays:https://www.ikjzd.com/w/2775


javaweb-cookiesession1、cookieCookie是一个保存在客户机中的简单的文本文件,这个文件与特定的Web文档关联在一起,保存了该客户机访问这个Web文档时的信息,当客户机再次访问这个Web文档时这些信息可供该文档使用。由于"Cookie"具有可以保存在客户机上的神奇特性,因此它可以帮助我们实现记录用户个人信息的功能,而这一切都不必使用复杂的CGI等程序。Cookie是一段
启明星软件:https://www.ikjzd.com/w/1436
四川自贡仙市古镇有什么特色美食?:http://www.30bags.com/a/418586.html
四川最纯粹的摄影旅游路线 - :http://www.30bags.com/a/408417.html
四川最美的十座山峰:青城山(图) - :http://www.30bags.com/a/407834.html
四川最美观景平台 让人沉迷的梦境:http://www.30bags.com/a/429793.html
老师用丝袜脚夹我好爽 再深一点丝袜护士长很紧好多水:http://lady.shaoqun.com/m/a/247106.html
男朋友在车里㖭比过程 放在里面一整天:http://www.30bags.com/m/a/249824.html
老师你下面太紧进不去 老师脱下裙子坐在我的巨物上:http://www.30bags.com/m/a/249770.html
深圳宝安科技馆8月展览汇总(持续更新):http://www.30bags.com/a/517601.html
2021时尚深圳展蝶讯馆展览好看吗:http://www.30bags.com/a/517602.html
2021时尚深圳蝶讯馆观展攻略:http://www.30bags.com/a/517603.html
深圳欢乐谷夏浪音乐节有朱星杰吗:http://www.30bags.com/a/517604.html

No comments:

Post a Comment