在看web.xml配置文件关于环境初始化参数的配置时,发现了ServletConfig与ServletContext这两个对象的应用,于是就写了一个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(该链接地址与servlet在webx.xml中的配置有关)后,就可以分别对应输出/WebContent/affice和gb2312
分享到:
相关推荐
ServletConfig和ServletContext是Java Servlet API中的两个重要接口,它们在Web应用程序中扮演着关键角色,主要负责管理和传递初始化参数以及实现应用级别的通信。 ServletConfig对象主要用于装载Servlet的初始化...
ServletConfig 与 ServletContext 的关系 在 Servlet 编程中,ServletConfig 和 ServletContext 两个对象经常被混淆,然而它们有着截然不同的作用域和用途。 首先, lets 看看 ServletConfig 对象。ServletConfig ...
ServletConfig和ServletContext是Java Servlet API中的两个重要概念,它们在Web应用程序中扮演着配置和通信的角色。理解并熟练使用这两个接口对于开发高效、可维护的Web应用至关重要。 ServletConfig对象代表了一个...
### ServletContext与ServletConfig的深度分析 #### 一、概述 在Java Web开发中,`ServletContext`和`ServletConfig`是非常重要的两个接口,它们分别代表了应用级别的共享环境和单个Servlet的配置信息。理解这两个...
java web servletContext和ServletConfig详解
### ServletConfig与ServletContext的区别 虽然ServletConfig和ServletContext都与Servlet容器相关,但它们的角色不同。ServletConfig主要用于传递特定Servlet的初始化参数,而ServletContext则代表了整个Web应用...
2. **ServletConfig与ServletContext的关系** - 每个Servlet在被创建时,都会得到一个与之关联的`ServletConfig`对象,`ServletConfig`包含了Servlet特定的初始化参数。相比之下,`ServletContext`是全局的,服务于...
4. **ServletConfig与ServletContext的区别** - ServletConfig对象是特定于每个Servlet实例的,而ServletContext对象在整个Web应用中是共享的。 - ServletConfig主要存储Servlet的个性化配置信息,而...
方立勋JavaWeb视频教程_servlet开发和ServletConfig与ServletContext对象(第五天) 方立勋JavaWeb视频教程_request response(第六天) 方立勋JavaWeb视频教程_Cookie和Session(第七天) 方立勋JavaWeb视频教程_...
public void init(ServletConfig config) throws ServletException { ServletContext context = config.getServletContext(); context.setAttribute("message", "Hello, World!"); } ``` 然后在其他Servlet或JSP...
这样,在下面的程序中,就可以直接引用MockHttpServletRequest、MockHttpServletResponse、ServletConfig、ServletConfig、servletContext、ApplicationContext等对象进行操作了。 在PMSTestCase的setUpBeforeClass...
总的来说,ServletConfig是连接Servlet与部署描述符(web.xml)的关键桥梁,它提供了获取配置信息的能力,使得Servlet可以根据运行环境进行动态配置。在深入理解ServletConfig的同时,我们还需要了解Servlet的其他...
实验内容包括了Servlet的基本使用,如HttpServlet的继承,ServletConfig和ServletContext对象的使用,以及通过Servlet实现网站访问计数和用户登录验证功能。 【实验目的】 1. 熟悉Servlet的编程模型,了解其在Web...
在Servlet环境下,特别是在使用Spring MVC等框架时,Quartz与ServletContext的结合配置显得尤为重要,因为这能让我们更好地管理和监控后台定时任务。 ### Quartz简介 Quartz 提供了一个完全线程化的事件调度器,...
在这个实验中,我们将深入理解并实践Servlet的基础知识,包括HttpServlet的doGet()和doPost()方法、ServletConfig对象的使用以及ServletContext接口的数据共享功能。 首先,我们来看HttpServlet的doGet()和doPost()...
- **通过`ServletConfig`对象**:每个Servlet都会有一个`ServletConfig`对象,该对象可以用来获取`ServletContext`对象。例如:`getServletConfig().getServletContext();` - **通过`GenericServlet`类**:继承自`...
2.5. ServletConfig 与 ServletContext ServletConfig 和 ServletContext 是指 Servlet 应用程序的配置和上下文信息。ServletConfig 提供了 Servlet 的配置信息,而 ServletContext 提供了 Servlet 的上下文信息。 ...
在这篇总结中,我们将讨论 ServletConfig 对象和 ServletContext 对象两个常用的 Servlet 对象。 ServletConfig 对象 ServletConfig 对象是 Servlet 生命周期中的一部分,它提供了关于 Servlet 的一些基本信息。...