session/application/bean的学习

来源:互联网 发布:ip地址定位软件 编辑:程序博客网 时间:2024/05/21 22:49
学习Session  会话跟踪 
session记录一系列状态,你在当前网页的页面做了哪些操作,记录下来,我在下一个页面也可以看到,例如你在当前页面
买了5件商品,记录在session后,我在下个页面也可以看到
1、在某段时间一连串客户端与服务器端的交易
2、在Jsp/servlet中,session有两种实现方式,第一种通过Cookie实现,即把session的ID号放在临时的Cookie中
第二种,如果浏览器不支持Cookie,可以通过URL重写来实现,就是将一些额外数据追加到表示会话的每个URL末尾,服务器在该标识符与其
存储的有关该会话的数据之间建立关联


session与Cookie的区别,Cookie记录在客户端,可以禁止服务器写入,客户端也可以自行修改;session记录在服务器端,在服务器的内存开辟一段空间,用来与某个浏览器关联
该session只与某个浏览器窗口有关联,其他的浏览器也想记录自己的状态的话,重新开辟一段空间来与之关联


规则:
1、如果浏览器支持Cookie,创建Session时候会把SessionID保存在Cookie里
2、如果不支持Cookie,必须自己编程使用URL重写的方式实现Session
使用函数response.encodeURL()作用:  a、转码(解析URL中的中文)   b、URL 后面加入SessionId
3、Session不像Cookie拥有路径访问的问题,同一个webapplication下的servlet/JSp可以共享一个Session,前提是同一个客户端窗口


学习Application
1、用于保存整个WebApplication的生命周期内都可以访问的数据
2、每个webApplication可能跑着一个或者多个servlet,每个webapplication的运行环境是一个context
3、在API中表现为ServletContext,通过HttpServlet的getServletContext方法可以拿到,通过ServletContext的get/setAttribute方法取得/设置相关属性


位于包中的servlet的部署:
1、位于com.bjsxt.servlet;中的HelloWorldServlet.java在部署的时候,需要把全部的路径都部署好,把.class类型的文件放到
D:\Program Files\DevelTools\apache-tomcat-8.0.9\webapps\test\WEB-INF\classes\com\bjsxt\servlet路径下,如果是没有放在包里的servlet只需要放在
D:\Program Files\DevelTools\apache-tomcat-8.0.9\webapps\test\WEB-INF\classes中即可
2、部署web.xml时:servlet-name,url-pattern和没有放在包里相同,但是servlet-class需要按照如下方式:<servlet-class>com.bjsxt.servlet.HelloWorldServlet</servlet-class>




在Servlet中使用Bean
1、在Servlet中使用Bean和在通常程序中使用Bean类似
属性名称的第一个字母必须小写、一般具有getters和setters
属性一般是private,因为java是封装隐藏的
2、但Bean不应具有GUI表现



0 0