您现在的位置是:主页 > news > 网站建站方式/关键词爱站网关键词挖掘工具

网站建站方式/关键词爱站网关键词挖掘工具

admin2025/5/9 20:40:00news

简介网站建站方式,关键词爱站网关键词挖掘工具,网站手机客户端在线制作,交友网站发展建设会话发展史 彻底理解cookie,session,token - 老刘的文章 - 知乎 https://zhuanlan.zhihu.com/p/63061864 为什么需要状态管理? Web应用程序使用的是Http协议,该协议是"无状态"协议,即同一用户发了两次请求,建立了两次连接,但是服务器无法判…

网站建站方式,关键词爱站网关键词挖掘工具,网站手机客户端在线制作,交友网站发展建设会话发展史 彻底理解cookie,session,token - 老刘的文章 - 知乎 https://zhuanlan.zhihu.com/p/63061864 为什么需要状态管理? Web应用程序使用的是Http协议,该协议是"无状态"协议,即同一用户发了两次请求,建立了两次连接,但是服务器无法判…

会话发展史

彻底理解cookie,session,token - 老刘的文章 - 知乎 https://zhuanlan.zhihu.com/p/63061864

为什么需要状态管理?

    Web应用程序使用的是Http协议,该协议是"无状态"协议,即同一用户发了两次请求,建立了两次连接,但是服务器无法判断这两个请求是否是同一个人发出的,而我们的应用程序有时是需要判断是否为同一个客户发出的请求,比如客户多次选购商品,因此,有必要跟踪同一客户发出的一系列请求.

状态管理的两种常见模式

    客户端状态管理技术:将状态保存在客户端,代表性的是Cookie技术.

    服务器端状态管理技术:将状态保存在服务器端,代表性的是Session技术.

Cookie

    浏览器向服务器发请求,服务器会将少量的数据以set-Cookie消息头的方式发送给浏览器,浏览器将这些数据保存起来,当浏览器再次访问服务器时,会将这些数据以Cookie消息头的方式发送给浏览器.

Cookie用法

    直接看代码吧,注释表明用法

public class CookieServlet extends HttpServlet {protected void service(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {//创建CookieCookie cookie =new Cookie("name", "zjc");//添加Cookie到response中response.addCookie(cookie);//读取CookieCookie[] cookies=request.getCookies();if(cookies!=null){for (Cookie ck : cookies) {if(ck.getName().equals("name")){System.out.println(ck.getValue());}}}else{System.out.println("没有Cookie信息");}//修改Cookieif(cookies!=null){for (Cookie ck : cookies) {if(ck.getName().equals("name")){//覆盖原来的value(zjc)ck.setValue("xiaocheng");//添加Cookie到response中response.addCookie(ck);}}}//设置Cookie保存时间,单位为秒//seconds > 0:保存在硬盘上的时间//seconds = 0:立即删除//seconds <0 :默认,保存在浏览器的内存中cookie.setMaxAge(10);//Cookie中文编码Cookie cookie2 =new Cookie("mingzi", URLEncoder.encode("张金程","UTF-8"));response.addCookie(cookie2);if(cookies!=null){for (Cookie ck : cookies) {if(ck.getName().equals("mingzi")){//解码System.out.println(URLDecoder.decode(ck.getValue(), "UTF-8"));}}}}
}

Session

    浏览器访问服务器时,服务器会为每一个浏览器在服务器端的内存中创建一个Session对象,这个对象有个SessionId的属性,其值唯一,并以Cookie的方式发给浏览器,下次浏览器再访问服务器时,服务器就可以拿到这个SessionId,并根据这个SessionId找到Session对象.(这些过程都是服务器做的)

Session用法

    直接看代码吧,注释表明用法

public class SessionServlet extends HttpServlet {protected void service(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {//获得Session对象HttpSession session=request.getSession();//绑定数据session.setAttribute("name", "zjc");//获得数据String name=(String)session.getAttribute("name");//移除数据session.removeAttribute("name");//删除Session对象session.invalidate();//修改Session对象的超时时间(一般是30分钟),时间过了就删除Session对象,单位为秒session.setMaxInactiveInterval(600);}
}