A. 在servlet 2.5中无论是监听器,还是过滤器,抑或servlet,context(这个注册是为了在web启动时就赋予一些属性信息,可以用 req.getSession().getAttribute()获取)都得在web.xml中注册才能正常使用
B. cookie是保存在客户端的用户信息,session是保存在服务器端的信息,都有会话id,保证同一个浏览器登录时使用同一个内存 区。session可以再不同请求间共享信息(req.getsession().getAttribute(""));而req.getAttribute()只能在同一个请求共享信息。
C. ServletContext接口
Servlet融洽在启动一个web应用时,会自动创建一个ServletContext对象,每个web应用有唯一的ServletContext对象,所有的servlet 对象共享一个ServletContext,使用容器中的各种资源。
在web应用范围内存取共享数据的方法:
1.setAttribute(String name,java.lang.Object object)把一个java对象和一个属性名绑定,并存放到ServletContext中
2.getAttribute(String name) 根据属性名 返回一个Object类型的对象
3.getAttributeNames() 返回一个Enumeration对象,包含了所有存放在servletContext中的属性名
4.removeAttribute(String name) 根据属性名,从servletContext中删除属性
访问当前web应用的资源
getcontextparameter()
访问服务器的文件系统资源
1.getRealPath(String path) 根据参数指定虚拟路径,返回文件系统中的一个真实路径
2.getResource(String path) 返回一个映射到参数指定的路径的url
3.getResourceAsStream(Strng path) 返回一个用于读取参数指定的文件的输入流,将DaoFactory对象放到了ServletContext中
例:在doGet()中this.getServletContext().getRealPath("/");返回当前web站点的路径
读取url.properties中的配置文件:ServletContextEvent.getServletContext().getResoutceAsStream("/url.properties");
D. 监听器 (11) Servlet监听器用于监听一些重要事件,其对象在事件发生前后做一些必要处理
相关接口:ServletContextListener HttpSessionListener
web.xml中的配置<listener>
<listener-class>存放路径web.listener.contextlistener</listener-class>
</listener>