Servlet:ServletContext
2015-11-19 12:37
405 查看
一个项目只有一个ServletContext对象!
我们可以在N多个Servlet中来获取这个唯一的对象,使用它可以给多个Servlet传递数据!
这个对象在Tomcat启动时就创建,在Tomcat关闭时才会死去!
ServletContext对象的作用是在整个Web应用的动态资源之间共享数据!例如在AServlet中向ServletContext对象中保存一个值,然后在BServlet中就可以获取这个值,这就是共享数据了。
l ServletConfig#getServletContext();
l GenericServlet#getServletContext();
l HttpSession#getServletContext()
l ServletContextEvent#getServletContext()
使用ServletContext对象来获取Web应用下的资源,例如在hello应用的根目录下创建a.txt文件,现在想在Servlet中获取这个资源,就可以使用ServletContext来获取。
l 获取a.txt的真实路径:String realPath = servletContext.getRealPath(“/a.txt”),realPath的值为a.txt文件的绝对路径:F:\tomcat6\webapps\hello\a.txt;
l 获取b.txt的真实路径:String realPath =servletContext.getRealPath(“/WEB-INF/b.txt”);
可以通过ServletContext获取资源流,即把资源以输入流的方式获取:
l 获取a.txt资源流:InputStream in =servletContext.getResourceAsStream(“/a.txt”);
l 获取b.txt资源流:InputStream in =servletContext.getResourceAsStream(“/WEB-INF/b.txt”);
可以使用ServletContext获取指定目录下所有资源路径,例如获取/WEB-INF下所有资源的路径:
我们可以在N多个Servlet中来获取这个唯一的对象,使用它可以给多个Servlet传递数据!
这个对象在Tomcat启动时就创建,在Tomcat关闭时才会死去!
ServletContext对象的作用是在整个Web应用的动态资源之间共享数据!例如在AServlet中向ServletContext对象中保存一个值,然后在BServlet中就可以获取这个值,这就是共享数据了。
l ServletConfig#getServletContext();
l GenericServlet#getServletContext();
l HttpSession#getServletContext()
l ServletContextEvent#getServletContext()
使用ServletContext对象来获取Web应用下的资源,例如在hello应用的根目录下创建a.txt文件,现在想在Servlet中获取这个资源,就可以使用ServletContext来获取。
l 获取a.txt的真实路径:String realPath = servletContext.getRealPath(“/a.txt”),realPath的值为a.txt文件的绝对路径:F:\tomcat6\webapps\hello\a.txt;
l 获取b.txt的真实路径:String realPath =servletContext.getRealPath(“/WEB-INF/b.txt”);
可以通过ServletContext获取资源流,即把资源以输入流的方式获取:
l 获取a.txt资源流:InputStream in =servletContext.getResourceAsStream(“/a.txt”);
l 获取b.txt资源流:InputStream in =servletContext.getResourceAsStream(“/WEB-INF/b.txt”);
可以使用ServletContext获取指定目录下所有资源路径,例如获取/WEB-INF下所有资源的路径:
Set set = context.getResourcePaths("/WEB-INF"); System.out.println(set); |
[/WEB-INF/lib/, /WEB-INF/classes/, /WEB-INF/b.txt, /WEB-INF/web.xml] |
相关文章推荐
- 如何彻底删除TFS的工作项字段
- HTML5<section>元素
- zabbix agentd 无法启动,报错cannot allocate shared memory of size 527272
- 前端代码检测利器——eslint for sublime安装指南
- 基本的线程机制(一)
- View setTag()与getTag();
- Linux服务之ssh防暴力破解
- url加密调研报告
- ArrayAdapter实现仿QQ左右发送消息显示
- FFMpeg+SDL多线程播放器
- Zmodem transfer canceled by remote side问题的解决办法!
- oracle
- linux中find批量删除空文件及空文件夹脚本
- 阿里云--域名,主机,备案都配置好了,就是不能访问网站的解决方案
- 单例模式(多线程不安全,序列化不安全,反射不安全实例)
- mesos上安装hadoop过程简介
- Spring_Security_3.0.1中文参考文档 Chapter 8.核心安全过滤器
- [leetcode 223] Rectangle Area
- 配置MySQL远程访问权限
- dom事件