`
ku_uga
  • 浏览: 47033 次
  • 性别: Icon_minigender_1
  • 来自: 广州
文章分类
社区版块
存档分类
最新评论

ServletConfig与ServletContext的区别

阅读更多

在看web.xml配置文件关于环境初始化参数的配置时,发现了ServletConfigServletContext这两个对象的应用,于是就写了一个Servlet来体验了一下。

首先从作用范围来说,ServletConfig作用于某个特定的Servlet,即从该Servlet实例化,那么就开始有效,但是该Servlet之外的其他Servlet不能访问;ServletContext作用于某个web应用,即在一个web应用中相当于一个全局对象,在Servlet容器启动时就已经加载,对于不同的web应用,有不同的ServletContext

其次,来看一下二者参数的使用。如果一个参数为整个web应用所用,那么就配置为ServletContext参数,如下所示:

如果一个参数仅为一个Servlet所用,那么就应该配置为ServletConfig参数,如下所示:

<servlet>

   <servlet-name>affice_add</servlet-name>

   <servlet-class>servlet.Affice_add</servlet-class>

   <init-param>

      <param-name>filepath</param-name>

     <param-value>/webContent/affice</param-value>

   </init-param>

</servlet>

最后,说明一下参数的获取。访问ServletConfig参数,取得ServletConfig对象后,调用getInitParameter()方法;访问ServletContext对象,只要调用现有的ServletConfig对象的getServletContext()即可,然后同样调用getInitParamter()方法就能获取参数。例如对于上面的参数,可以通过如下方法获取各自参数。

 

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 {

       String filepath=(String)config.getInitParameter("filepath");

       System.out.println(filepath);

       String encode=(String)config.getServletContext().getInitParameter("encoding");

       System.out.println(encode);

   }

   public void destroy() {

   }

}

 

 

对上面Servlet编译后,在浏览器中输入http://localhost:8080/my/TestServletConfig(该链接地址与servletwebx.xml中的配置有关)后,就可以分别对应输出/WebContent/afficegb2312
分享到:
评论

相关推荐

    ServletConfig与ServletContext.docx

    ServletConfig和ServletContext是Java Servlet API中的两个重要接口,它们在Web应用程序中扮演着关键角色,主要负责管理和传递初始化参数以及实现应用级别的通信。 ServletConfig对象主要用于装载Servlet的初始化...

    ServletContext与ServletConfig关系

    ServletConfig 与 ServletContext 的关系 在 Servlet 编程中,ServletConfig 和 ServletContext 两个对象经常被混淆,然而它们有着截然不同的作用域和用途。 首先, lets 看看 ServletConfig 对象。ServletConfig ...

    有关ServletConfig与ServletContext的访问

    ServletConfig和ServletContext是Java Servlet API中的两个重要概念,它们在Web应用程序中扮演着配置和通信的角色。理解并熟练使用这两个接口对于开发高效、可维护的Web应用至关重要。 ServletConfig对象代表了一个...

    ServletContext与ServletConfig的深度分析

    ### ServletContext与ServletConfig的深度分析 #### 一、概述 在Java Web开发中,`ServletContext`和`ServletConfig`是非常重要的两个接口,它们分别代表了应用级别的共享环境和单个Servlet的配置信息。理解这两个...

    java web servletContext和ServletConfig详解

    java web servletContext和ServletConfig详解

    ServletConfig

    ### ServletConfig与ServletContext的区别 虽然ServletConfig和ServletContext都与Servlet容器相关,但它们的角色不同。ServletConfig主要用于传递特定Servlet的初始化参数,而ServletContext则代表了整个Web应用...

    ServletContext与application异同.docx

    2. **ServletConfig与ServletContext的关系** - 每个Servlet在被创建时,都会得到一个与之关联的`ServletConfig`对象,`ServletConfig`包含了Servlet特定的初始化参数。相比之下,`ServletContext`是全局的,服务于...

    javaWEB总结(3):ServletConfig对象

    4. **ServletConfig与ServletContext的区别** - ServletConfig对象是特定于每个Servlet实例的,而ServletContext对象在整个Web应用中是共享的。 - ServletConfig主要存储Servlet的个性化配置信息,而...

    方立勋:JavaWeb视频前十一天教程配套ppt下载

    方立勋JavaWeb视频教程_servlet开发和ServletConfig与ServletContext对象(第五天) 方立勋JavaWeb视频教程_request response(第六天) 方立勋JavaWeb视频教程_Cookie和Session(第七天) 方立勋JavaWeb视频教程_...

    35、servlet--servletContext

    public void init(ServletConfig config) throws ServletException { ServletContext context = config.getServletContext(); context.setAttribute("message", "Hello, World!"); } ``` 然后在其他Servlet或JSP...

    java单元测试 spring mock的使用

    这样,在下面的程序中,就可以直接引用MockHttpServletRequest、MockHttpServletResponse、ServletConfig、ServletConfig、servletContext、ApplicationContext等对象进行操作了。 在PMSTestCase的setUpBeforeClass...

    ServletConfig的描述

    总的来说,ServletConfig是连接Servlet与部署描述符(web.xml)的关键桥梁,它提供了获取配置信息的能力,使得Servlet可以根据运行环境进行动态配置。在深入理解ServletConfig的同时,我们还需要了解Servlet的其他...

    Web实验报告一.docx

    实验内容包括了Servlet的基本使用,如HttpServlet的继承,ServletConfig和ServletContext对象的使用,以及通过Servlet实现网站访问计数和用户登录验证功能。 【实验目的】 1. 熟悉Servlet的编程模型,了解其在Web...

    quartz servletcontext配置资料

    在Servlet环境下,特别是在使用Spring MVC等框架时,Quartz与ServletContext的结合配置显得尤为重要,因为这能让我们更好地管理和监控后台定时任务。 ### Quartz简介 Quartz 提供了一个完全线程化的事件调度器,...

    实验3 Servlet基础.docx

    在这个实验中,我们将深入理解并实践Servlet的基础知识,包括HttpServlet的doGet()和doPost()方法、ServletConfig对象的使用以及ServletContext接口的数据共享功能。 首先,我们来看HttpServlet的doGet()和doPost()...

    servletcontext详解

    - **通过`ServletConfig`对象**:每个Servlet都会有一个`ServletConfig`对象,该对象可以用来获取`ServletContext`对象。例如:`getServletConfig().getServletContext();` - **通过`GenericServlet`类**:继承自`...

    Java_Web总结

    2.5. ServletConfig 与 ServletContext ServletConfig 和 ServletContext 是指 Servlet 应用程序的配置和上下文信息。ServletConfig 提供了 Servlet 的配置信息,而 ServletContext 提供了 Servlet 的上下文信息。 ...

    servlect常用对象的总结.pdf

    在这篇总结中,我们将讨论 ServletConfig 对象和 ServletContext 对象两个常用的 Servlet 对象。 ServletConfig 对象 ServletConfig 对象是 Servlet 生命周期中的一部分,它提供了关于 Servlet 的一些基本信息。...

Global site tag (gtag.js) - Google Analytics