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

Servlet-02 Servlet相关类

时间:2016-05-12 01:18:14      阅读:235      评论:0      收藏:0      [点我收藏+]

标签:

 

ServletConfig / ServletContext / ServletRequest / ServletResponse

 

一. ServletConfig:封装了Servlet得配置信息,并且可以获取ServletContext对象。

1 获取初始化参数

  a. 配置初始化参数

<servlet>
      <servlet-name>helloServlet</servlet-name>
      <servlet-class>com.bwr.start.HelloServlet</servlet-class>
    <!-- init-param节点必须在load-on-startup前 --> <init-param> <param-name>encode</param-name> <param-value>utf-8</param-value> </init-param>
    <init-param>
<param-name>encode</param-name>
<param-value>utf-8</param-value>
    </init-param>
    <load-on-startup>1</load-on-startup>
</servlet>

  b. 获取初始化参数

    getInitParamter(String name)   获取Servlet指定名称的初始化参数

    getInitParameterNames()    获取Servlet中所有的初始化参数名的枚举值

       public void init(ServletConfig config) throws ServletException {
        System.out.println("init...");
        String name = config.getInitParameter("name");
        System.out.println("name: " + name);
        
        Enumeration<String> params = config.getInitParameterNames();
        while(params.hasMoreElements()) {
            String param = params.nextElement();
            String value = config.getInitParameter(param);
            System.out.println(">> " + param + ": " + value);
        }
    }    

    Servlet加载时后台输出结果:

name: tom
>> encode: utf-8
>> name: tom

2  获取Servlet名称   getServletName()

3  获取Servlet上下文 getServletContext()

 

二. ServletContext

  1.Servlet引擎为每个WEB应用程序都创建一个对应的ServletContext对象,在Servlet中可以通过ServletConfig的getServletContext()方法获取。

  2.由于一个WEB应用中所有Servlet共享同一个ServletContext对象,所以也被称之为application对象(WEB应用程序对象)

  3.可以通过ServletContext获取当前WEB应用各方面的信息:

  ① 获取当前WEB应用初始化参数

    配置:在web.xml文件的web-app标签下配置

  <context-param>
      <param-name>web-name</param-name>
      <param-value>Hello</param-value>
  </context-param>
  <context-param>
      <param-name>version</param-name>
      <param-value>2.2.1</param-value>
  </context-param>

    获取:通过ServletContext的getInitParamter(String name)和getInitParamterNames()获取。

  ② 获取当前WEB应用的某个文件的绝对路径

    a.文件必须位于WEB应用内,即在项目的WebContent下;获取的绝对路径是应用部署后文件所在的绝对路径

    b. 使用方法servletContext.getRealPath("/note.txt"),"/"在eclipse项目结构中代表WebContent

 

  ③ 获取当前WEB应用的名称

    servletContext.getContextPath()  // "/JavaWeb01"

 

  ④ 获取当前WEB应用某个文件对应的输入流

    servletContext.getResourceAsStream(String path);  // path前的"/"为WEB应用的根目录

    a.在eclipse项目下src下有文件db.properties

       ServletContext().getResourceAsStream("/WEB-INF/classes/db.properties");

       getClass().getClassLoader().getResourceAsStream("db.properties");

    b.在eclipse项目下WebContent下有文件note.txt

      ServletContext().getResourceAsStream("/note.txt"); 

 

  ⑤ 与Attribute相关的方法 

 

三. ServletRequest

 

四. ServletResponse

 

Servlet-02 Servlet相关类

标签:

原文地址:http://www.cnblogs.com/techroad4ca/p/5484093.html

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