关于ServletContext的笔记

来源:互联网 发布:仿真实验软件 编辑:程序博客网 时间:2024/06/02 08:56
 ServletContext
一个web应用只有一个servletContext,所有servlet共享这个servletContext;
  用途:
1.存放在servlet中需要共享的数据
在LoginServlet中存入获取的用户信息: this.getServletContext().setAttribute("uname","zhangshan");
在其他任何一个Servlet中可以取值:this.getServletContext().getAttribute ("attributeName");
这就实现了数据在servlet中共享.

2.读取web.xml文件的配置信息(主要获取初始化参数):
this.getServletContext ().getInitParameter("xx");
一般情况下,这里的配置信息主要是字符编码之类的.

3.实现Servlet转发
RequestDispatcher rd = this.getServletContext().getRequestDispatcher ("x.jsp")
rd.forward()/rd.include();
也就是所谓的forward()/include()跳转
.

4.用于读取资源配置文件(properties文件)
方式1.使用getResource()方法
InputStream in = this.getServletContext().getResource("WEB-INF/classes/db.properties").openStream();
方式2.使用getRealPath()方法
String path = this.getServletContext().getRealPath("WEB-INF/classes/db.properties");
File file = new FIle(path);
InputStream in = new FileInputStream(file);
方式3.使用getResourceAsStream()
InputStream in = this.getServletContext().getResourceAsStream("WEB-INF/classes/db.properties");

如何读取properties文件(需要使用上面创建的InputStream对象in)
 Proterties pro = new Proterties();
pro.load(in);
pro.getProperty()...等系列方法.

5.ServletContext与Servlet,ServletConfig,Application的关系
  1.一个servlet对应一个servletConfig.
       一个web应用对应一个servletContext
  2.servletContext是全局的与application相同,只不过application是在JSP中使用,servletContext在servlet中使用.

servletConfig是用于存放单个servlet中的共享数据,servletContext是用于存放所有servlet共享的数据.
 
0 0
原创粉丝点击