HTTP--ServletContext接口

3.ServletContext接口
3.1.当前的WEB应用,一个WEB应用对应一个唯一的ServletConfig对象
3.2.在项目启动时创建,在项目卸载时销毁
3.3.通过ServletConfig的getServletContext()方法获取
3.4.通过ServletContext可以访问应用范围的初始化参数和属性

   在web.xml中配置初始化参数:
   <context-param>
     <param-name>adminEmail</param-name>
     <param-value>webmaster</param-value>
  </context-param>
 <context-param>元素是针对整个应用的,所以并不嵌套在某个<servlet>元素中,该元素是<web-app>元 素的直接子元素

3.5.可以获取资源的真实路径(物理路径),主要在文件的上传和下载时使用
3.6.可以作为一个域对象在不同的web资源之间共享数据

  扩展:ServletContext和ServletConfig区别
          1.ServletContext:对任何servlet,任何人在任何时间都有效,这才是真正全局的对象;
          2. ServletConfig:从一个servlet被实例化后,对任何客户端在任何时候访问有效,但仅对本servlet有效,
                            一个servlet的ServletConfig对象不能被另一个servlet访问;
          3.如果一个参数为整个web应用所用,那么就配置为ServletContext参数                  
  代码示例:
      <context-param>
             <param-name>haha</param-name>
             <param-value>huhu</param-value>
       </context-param> 
       4.如果一个参数仅为一个Servlet所用,那么就应该配置为ServletConfig参数
   代码示例:
         <servlet>
            <servlet-name>ServletParam</servlet-name>
            <init-param>
                <param-name>haha</param-name>
               <param-value>heihei</param-value>
            </init-param>
            <servlet-class>web.servlet.ServletParam</servlet-class>
        </servlet>
       5.参数的获取
           (1)访问ServletContext中的参数
                 <1>调用现有的ServletConfig对象的getServletContext()
                 <2>调用getInitParamter()方法就能获取参数              
          (2)访问ServletConfig中的参数     
                  <1>ServletConfig对象后,调用getInitParameter()方法
          (3)代码示例: 
  public class TestServletConfig extends HttpServlet {
          ServletConfig config;
      public void init(ServletConfig config) {
          this.config=config;
    }
      public void doGet(HttpServletRequest request,HttpServletResponse response) throws ServletException,IOException {
           //访问ServletConfig中的参数 
          String filepath=(String)config.getInitParameter("haha");
          System.out.println(filepath);//输出heihei
          //访问ServletContext中的参数
          String encode=(String)config.getServletContext().getInitParameter("haha");
          System.out.println(encode); }//输出huhu
   }        
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值