Servlet3
来源:互联网 发布:c语言字符串函数 编辑:程序博客网 时间:2024/06/06 09:24
一、ServletContext
1、WEB容器在启动时,会为每个WEB应用程序都创建一个对应的ServletContext对象,它代表当前web应用。
2、ServletConfig对象中维护了ServletContext对象的引用,开发人员在编写servlet时,可以通过ServletConfig.getServletContext方法获得ServletContext对象。也可用this.getServletContext方法
3、由于一个WEB应用中的所有Servlet共享同一个ServletContext对象,因此Servlet对象之间可以通过ServletContext对象来实现通讯。多个Servlet通过ServletContext对象实现数据共享。
4、ServletContext对象也称为context域对象。(request,session,page)setAttribute(),getAttribute();
5、获取ServletContext的两种方式
方法1:ServletContext context1 =this.getServletConfig().getServletContext();
方法2:ServletContext context2 =this.getServletContext()
二、ServletContext应用
1、获取WEB应用的初始化参数。
代码说明:
<context-param>
<param-name>data</param-name>
<param-value>xxxx</param-value>
</context-param>
String value = (String) this.getServletContext().getAttribute("data1");
System.out.println(value);
2、实现Servlet的转发。
RequestDispatcherrd =getServletContext().getRequestDispatcher(“/1.jsp”);
rd.forward(request,response);
注意:把数据传到jsp文件可以通过requst域,不能用context域
代码说明://实现转发
this.getServletContext().setAttribute("username","zhangsan");
RequestDispatcher rd =this.getServletContext().getRequestDispatcher("/index.jsp");
rd.forward(request,response);
4、ServletContext对象读取资源文件:(1)得到文件路径、(2)读取资源文件的三种方式、(3)properties文件(属性文件)
三、ServletConfig和ServletContext的区别
(1)整个Web应用只有一个ServletContext,在部署Web应用时,容器会建立一个ServletContext对象,对Web应用中的每个Servlet和JSP都可用。
(2)Web应用中的各个Servlet都有自己的ServletConfig,它只对当前Servlet有效。
四、在客户端缓存Servlet的输出
对于不经常变化的数据,在servlet中可以为其设置合理的缓存时间值,以避免浏览器频繁向服务器发送请求,提升服务器的性能。
//如果读取配置文件不是Servlet,而是一般的类,使用类加载器。
InputStreamin =StudentDao.class.getClassLoader().getResourceAsStream("db.properties");
Propertiesprop = new Properties();
try{
prop.load(in);
}catch (IOException e) {
//TODO Auto-generated catch block
e.printStackTrace();
}
driver = prop.getProperty("driver");
Stringurl = prop.getProperty("url");
Stringusername = prop.getProperty("username");
Stringpassword = prop.getProperty("password");
- servlet3
- Servlet3
- Servlet3
- servlet3
- servlet3.0
- servlet3注解
- servlet3.0
- Servlet3教程
- Servlet3.0
- Servlet3.0
- Servlet3.0
- Servlet3发布引争议
- servlet3.0 新特性
- Servlet3.0+hibernate
- servlet3.0 资料收集
- servlet3.0新特性
- Servlet3.0新特性
- servlet3学习-annotation
- c socket
- 发布在即:梳理关于Windows 8的那些小技巧
- 关于c++中cin.get()的返回值
- MySQL root 用户密码重置
- 数据库保存图片和文件保存图片
- Servlet3
- 第九周练习题目及结果
- 不同语言中sleep()函数的单位总结
- poj 3680 最小费用流
- 《纽约时报》:Windows 8 使用户感到困惑
- Windows变脸记:微软激进变革防止边缘化
- Hibernate框架(四)HQL查询
- C语言中time_t数据类型详细介绍
- libjpeg 的使用sample RGB转换到JPEG