关闭

Servlet:ServletContext

146人阅读 评论(0) 收藏 举报
分类:

一个项目只有一个ServletContext对象!

我们可以在N多个Servlet中来获取这个唯一的对象,使用它可以给多个Servlet传递数据!

这个对象在Tomcat启动时就创建,在Tomcat关闭时才会死去!

 ServletContext对象的作用是在整个Web应用的动态资源之间共享数据!例如在AServlet中向ServletContext对象中保存一个值,然后在BServlet中就可以获取这个值,这就是共享数据了。

ServletConfig#getServletContext()

GenericServlet#getServletContext();

HttpSession#getServletContext()

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]



0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:277337次
    • 积分:5481
    • 等级:
    • 排名:第4858名
    • 原创:194篇
    • 转载:483篇
    • 译文:0篇
    • 评论:183条
    最新评论