码迷,mamicode.com
首页 > 其他好文 > 详细

第三篇-->Servlet从细节开始(二)

时间:2015-07-24 18:04:00      阅读:94      评论:0      收藏:0      [点我收藏+]

标签:

8.ServletContext
1).可以由ServletConfig获取,    ServletContext context=arg0.getServletContext();
2).该对象代表当前WEB应用:可以认为ServletContext是当前Web应用的一个大管家,可以获取当前WEB应用的各方面信息
    <!-- 配置当前WEB应用的初始化参数-->
    
    <context-param>
        <param-name>driver</param-name>
        <param-value>com.mysql.jdbc.Driver</param-value>  
    </context-param>
    
     <context-param>
        <param-name>jdbcUrl</param-name>
        <param-value>jdbc:mysql:///lee</param-value>  
    </context-param>  
    <servlet>
        .......
    </servlet>
    <servlet>
        .......
    </servlet>
它是和servlet节点是并列的,是当前站点的全局信息。
它同样可以获取这些配置信息,不过它获取的是全局配置信息,而当前的ServletConfig是获取当前的Servlet的信息
  Enumeration <String> names=context.getInitParameterNames();
换句话说,任何一个Servlet都可以获取这个全局信息。
3)获取站点目录下的资源的绝对路径
方法一
  String path=context.getRealPath("/hello.jsp");    将获得hello.jsp在服务器上发布之后的真正路径。    /hello.jsp是其在这个项目中的根目录下的路径
  InputStream inputStream=context.getResourceAsStream("/WEN-INF/classes/test.txt");
  String path=context.getRealPath("/WEN-INF/classes/test.txt");  
路径只能写成/hello.jsp这种形式,\\不行
然而如果是src下的文件路径,假设src下有test.txt这样一个文件,如果想获得它的真正路径,写成 /WEB-INF/classes/test.txt,因为src下的文件都会被放到/WEN-INF/classes/test.txt的目录下,换言之,服务器加载完这个项目开始运行后,根本不存在src目录。
说明这个方法得到的都是服务器上的绝对路径,而不是部署前的路径
方法二
类加载器:
     ClassLoader classLoader=this.getClass().getClassLoader();
     InputStream inputStream=classLoader.getResourceAsStream("test.txt");
 
 
 
 

第三篇-->Servlet从细节开始(二)

标签:

原文地址:http://www.cnblogs.com/sailing-egg/p/4673868.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!