JavaEE——基于Servlet的会话跟踪(一)

会话:

       Session指的是在一段时间内,单个客户与Web服务器的一连串相关的交互过程

会话跟踪:

       当客户访问服务器的时候,Servlet容器就会创建一个HttpSession接口的对象Sessions,并将对应的客户端和session中存入SessionID,当客户下次访问的时候,调出相应的Session就可以了。

       会话跟踪有三种方法:

1、  协议的支持

2、  客户端:cookie技术

3、  服务器和客户端:cookie(内存中的)+session

其中第二种技术没有续时性。第三中技术具有续时性。

例:

假设session中时效是1小时,用户在第一次访问与第二次访问的间隔时间在45分,第三次访问时间又在45分后,则第二中技术则不会保存用户访问的信息,而第三种则保存了用户的信息。

可以使用到的对象有pagerequestsessionapplication。其中资源消耗的也是依次增大,其作用域也不相同。

会话创建

       HttpSession session=request.getSession(boolean value);

       HttpSession session=request.getSession();

       其中request.getSession() = = request.getSession(true) //客户第一登录没有session记录,创建一个并返回。

       区别在request.getSession(false) :如果客户第一登录没有session记录,返回null,如果有记录返回相应的session

会话的使用

session.setAttribute(String name,Object value);

session.getAttrbute(String name);

session作用域中存入相应的值.

HttpSessiond对象的存在周期

1、  创建

a)         request.getSession()

2、  使用

a)         setAttribute(String name,Object value) ;进行数据的保存

b)        getAttributeString name);进行数据的读取

3、  结束

a)         关闭浏览器,关闭session      :失效

b)        调用HttpSessioninvalidate()方法,删除HttpSession对象的数据。   :消失

c)         两次访问时间间隔大于session定义的非活动时间间隔。       :消失

session结束时,服务器会清空当前浏览器相关的数据信息

扩展知识一个静态的属性,可以用初始静态块初始化相应的对象。

例:private static List bookList=null

       static{

              bookList=new List();

              ………

}

规范:字母和数字混合用的时候,字母最好大写,以便于区分。

for 循环的新的使用方法。格式:

       for(Book b bookList){

              b…….

}

此方法适用于泛型集合。解释:b对象是bookList中的一个对象,依次循环。

CSS样式:

       .clear{clear:both;}

解释:为清除层悬浮。

margar0 auto; 解决两个浏览器的不兼容问题。

JSP中新写法

${b.isbn }  :解释:引用对象b中的isbn属性

 

……

             图书编号:   <%=b.getIsbn() %>

             图书价格:   ${b. price}

             版本号:   <%=b.getEditionNumber() %>

             权:   <%=b.getCopyright() %>

             

……

你可能感兴趣的:(Java复习笔记(CS))