Servlet入门(四)Cookie和Session

    xiaoxiao2022-07-07  200

    cookie和session是会话技术 基本概念: 指用户开一个浏览器,访问一个网站,只要不关闭该浏览器,不管该用户点击多少个超链接,访问多少资源,直到用户关闭浏览器,整个这个过程我们称为一次会话.

    一、cookie技术

    Cookie的流程:浏览器访问服务器,如果服务器需要记录该用户的状态,就使用response向浏览器发送一个Cookie,浏览器会把Cookie保存起来。当浏览器再次访问服务器的时候,浏览器会把请求的网址连同Cookie一同交给服务器。

    public Cookie(String name,String value) setValue与getValue方法 setMaxAge与getMaxAge方法 setPath与getPath方法 setDomain与getDomain方法 getName方法 Cookie类用于创建一个Cookie对象 response接口中定义了一个addCookie方法,它用于在其响应头中增加一个相应的Set-Cookie头字段 request接口中定义了一个getCookies方法,它用于获取客户端提交的Cookie

    具体代码如下

    Cookie cookie = new Cookie("name", "Sally"); cookie.setMaxAge(50000); response.addCookie(cookie); System.out.println(cookie.getName()); System.out.println(cookie.getPath()); System.out.println(cookie.getValue()); Cookie[] cookies = request.getCookies(); System.out.println("cookie的长度是:"+cookies.length); System.out.println("cookle的名字是:"+cookies[1]);

    二、session技术

    Session 是另一种记录浏览器状态的机制。不同的是Cookie保存在浏览器中,Session保存在服务器中。用户使用浏览器访问服务器的时候,服务器把用户的信息以某种的形式记录在服务器,这就是Session Session比Cookie使用方便,Session可以解决Cookie解决不了的事情【Session可以存储对象,Cookie只能存储字符串。 session是个域对象

    long getCreationTime();【获取Session被创建时间】 String getId();【获取Session的id】 long getLastAccessedTime();【返回Session最后活跃的时间】 ServletContext getServletContext();【获取ServletContext对象】 void setMaxInactiveInterval(int var1);【设置Session超时时间】 int getMaxInactiveInterval();【获取Session超时时间】 Object getAttribute(String var1);【获取Session属性】 Enumeration<String> getAttributeNames();【获取Session所有的属性名】 void setAttribute(String var1, Object var2);【设置Session属性】 void removeAttribute(String var1);【移除Session属性】 void invalidate();【销毁该Session】 boolean isNew();【该Session是否为新的】
    最新回复(0)