(11) ServletContext

ServletContext 简述:
① ServletContext 是存在于服务器中
② ServletContext 是被所有客户端共享
③ ServletContext 当 WEB 应用启动的时候,自动创建
④ ServletContext 当 WEB 应用 关闭/reload 时,被销毁

Servlet 的获取:
有两种方式:
① this.getServletContext( )
② this.getServletConfig( ).getInitParameter(name);


设置单个 Servlet 访问的初始化值:
只对单个servlet有效,配置 web.xml


   param>
        <param-name> paramName param-name>
        <param-value> value param-value>
    param>

获取单个 Servlet 值:

String paramName = this.getInitParameter("paramName");



设置 Context 初始化值:


     param>
            <param-name> paramName param-name>
            <param-value> value param-value>
     param>

获取 Context 初始化参数:

String value = this.getServletContext().getInitParameter("paramName");



获取资源绝对路径:
这个是从 WebRoot 目录下寻找文件,应用发布到 Tomcat 下,取得的是 Tomcat 目录中的 应用资源绝对路径。

String path = this.getServletContext().getRealPath(" /text/1.txt ");

这个相对路径是 WebRoot 下的,不管文件存不存在,都返回最上层的绝对路径:
例如:
在 WebRoot 下,没有 image 文件夹

String path = this.getServletContext().getRealPath(" /image /1.jpg ");

但是返回的是,WebRoot 下的绝对路径拼接在一起的 path
D:\IDE\apache-tomcat-7.0.40\webapps\ServletContext\image \1.jpg

访问放到 src 目录下的资源:
使用类加载器。如果有包,加包名。不需要以 / 开头!
访问 src 根目录下文件

inputStream = Demo.class.getClassLoader().getResourceAsStream(" 1.txt ");

访问 包内 文件:

inputStream = Demo.class.getClassLoader().getResourceAsStream(" test/1.txt ");

你可能感兴趣的:(Servlet,servlet)