一、区别
1、定义
1)ServletConfig:Servlet的配置对象,容器在初始化Servlet时通过它传递信息给Servlet。
2)ServletContext:上下文对象,提供了一系列方法供Servlet与Web容器交互。
2、创建时机
1)ServletConfig:在容器初始化Servlet的时候,并为其提供上下文初始化参数的名/值对的引用。
2)ServletContext:容器启动的时候,并为其提供Servlet初始化参数的名/值对的引用。
3、作用范围(可见性)
1)ServletConfig:每个JVM中每个Web应用一个ServletContext。
2)ServletContext:每个JVM中每个Web应用的每个Servlet一个ServletConfig。
所以ServletConfig=Servlet初始化参数,ServletContext=上下文初始化参数。
4、DD中的初始化参数配置
1)ServletConfig配置如下(注意是在<servlet>标签中):
<servlet> <init-param> <param-name>email</param-name> <param-value>www.linwei.com</param-value> </init-param> <servlet-name>JarDownload</servlet-name> <servlet-class>com.linwei.servlet.JarDownload</servlet-class> </servlet>
2)ServletContext配置如下(注意是直接在<web-app>标签下):
<context-param> <param-name>email</param-name> <param-value>www.linwei.com</param-value> </context-param>
5、Servlet中的访问方法
1)ServletConfig:getServletConfig().getInitParameter(“name”)。
2)ServletContext:getServletContext().getInitParameter(“name”)。
二、个性
1、关于ServletConfig
1)容器初始化Servlet时,会从DD中读出Servlet的初始化参数并为每个Servlet创建一个唯一的ServletConfig对象(保存有初始化参数的引用),然后把ServletConfig对象当做参数传递给Servlet的init()。
2)由上述1)推出:
a)Servlet初始化前(比如构造函数中)不能使用Servlet的初始化参数(通过ServletConfig)。
b)Servlet的初始化参数只会(也只能)读一次,就是在容器初始化Servlet的时候。
3)ServletConfig中保存有ServletContext的引用(所以可以通过ServletConfig获得ServletContext)。
4)一个“Servlet”要初始化完成之后,才成为真正的Servlet。(因为初始化时Servlet才能获得ServletConfig以及ServletContext的引用(ServletConfig中)),而不是构造函数完成后。也就是说,在“Servlet”获得ServletContext前,它还只是个普通的Java对象,而不是一个真正的Servlet。
5)在Servlet中可以通过两种方式获取到ServletConfig:
a)通过重载的init初始化方法参数中直接获取。
b)直接调用getServletConfig ()方法(继承自GenericServlet)。
2、关于ServletContext
1)在Servlet中可以通过两种方式获取到ServletContext:
a)通过ServletConfig。(调用getServletContext()方法)
b)直接调用getServletContext ()方法(继承自GenericServlet)。
2)得到初始化参数和获取/设置属性
a)getInitParameter(String)
b)getInitParameterNames()
3)操作上下文属性
a)getAttribute(String)
b)getAttributeNames()
c)setAttribute(String,Object)
d)removeAttribute(String)
4)得到有关服务器(及容器)信息
a)getMajorVersion()
b)getServerInfo()
5)访问资源文件
a)getResource(String parh)方法:其中path必须是/开头,代表当前web应用程序的根目录。返回一个代表某个资源的URL对象。
6)实现Servlet的转发
a)context.getRequestDispatcher("/index.jsp").forword(request, response);
7)记录服务器(如tomcat)日志文件。
a)log(String msg)
三、典型应用(待补充。。。)
相关推荐
在 Servlet 编程中,ServletConfig 和 ServletContext 两个对象经常被混淆,然而它们有着截然不同的作用域和用途。 首先, lets 看看 ServletConfig 对象。ServletConfig 对象是 Servlet 的配置对象,用于存储 ...
ServletConfig和ServletContext是Java Servlet API中的两个重要接口,它们在Web应用程序中扮演着关键角色,主要负责管理和传递初始化参数以及实现应用级别的通信。 ServletConfig对象主要用于装载Servlet的初始化...
ServletConfig和ServletContext是Java Servlet API中的两个重要概念,它们在Web应用程序中扮演着配置和通信的角色。理解并熟练使用这两个接口对于开发高效、可维护的Web应用至关重要。 ServletConfig对象代表了一个...
在Java Web开发中,`ServletContext`和`ServletConfig`是非常重要的两个接口,它们分别代表了应用级别的共享环境和单个Servlet的配置信息。理解这两个接口的工作原理对于构建高效、可维护的应用程序至关重要。 ####...
ServletConfig主要用于传递特定Servlet的初始化参数,而ServletContext则代表了整个Web应用程序的上下文,它可以共享数据给所有Servlet或Filter,并且提供了获取Web应用级的初始化参数和资源的功能。 ### 源码分析 ...
4. **ServletConfig与ServletContext的区别** - ServletConfig对象是特定于每个Servlet实例的,而ServletContext对象在整个Web应用中是共享的。 - ServletConfig主要存储Servlet的个性化配置信息,而...
项目涵盖了Servlet的生命周期管理、ServletConfig和ServletContext的使用、事件监听器的实现、过滤器的应用以及异步处理的实现。 ## 项目的主要特性和功能 1. Servlet生命周期管理 实现了Servlet的初始化、服务和...
`ServletContext`是Servlet API中的一个接口,它代表了一个Web应用程序的全局共享区域,所有在同一个Web应用中的Servlet都可以通过`ServletContext`来共享数据和资源。而`Application`通常指的是`ServletContext`的...
`servletContext`是Servlet API中...总结,`servletContext`是Java Web开发中的一个重要工具,它为Web应用程序提供了一种全局的通信和资源共享机制。理解和熟练使用`servletContext`对于提升Java Web开发能力至关重要。
通过本次实验,学生能够深入理解Servlet的工作原理,掌握Servlet生命周期中的初始化、服务和销毁过程,以及ServletConfig和ServletContext的应用场景。同时,实验还涵盖了HTTP请求的处理,以及如何利用Servlet实现...
在Java Web应用中,单元测试是非常重要的一步,它可以帮助开发者检测代码的正确性和可靠性。传统的单元测试方法需要部署到容器中,然而,这种方法存在一些缺陷,例如需要长时间的部署过程、对服务器资源的占用等。...
ServletConfig是Java Servlet API中的一个重要接口,它是Servlet容器(如Tomcat、Jetty等)向Servlet传递初始化参数和上下文信息的主要方式。在Servlet的生命周期中,ServletConfig对象会在Servlet实例化时由容器...
ServletConfig和ServletContext是两种不同的对象: * ServletConfig:用于存储Servlet的初始化参数。 * ServletContext:用于存储ServletContext对象,提供了对应用程序的访问。 Filter和Listener Filter和...
Quartz 是一个开源的工作调度框架,它允许开发者创建、安排和执行任务,广泛应用于Java Web应用中。在Servlet环境下,特别是在使用Spring MVC等框架时,Quartz与ServletContext的结合配置显得尤为重要,因为这能让...
### ServletContext详解 #### 一、概述 `ServletContext`接口是...通过对`ServletContext`的学习和理解,开发者能够更好地管理和操作Web应用中的共享数据、配置信息和其他资源,从而提高应用程序的效率和可维护性。
在ServletConfig 对象和 ServletContext 对象都是 Servlet 生命周期中的一部分,它们可以帮助开发者快速构建Web应用程序。通过这两个对象,我们可以获取到一些有用的信息,并且可以实现一些复杂的功能。
在这个实验中,我们将深入理解并实践Servlet的基础知识,包括HttpServlet的doGet()和doPost()方法、ServletConfig对象的使用以及ServletContext接口的数据共享功能。 首先,我们来看HttpServlet的doGet()和doPost()...
ServletConfig 和 ServletContext 是指 Servlet 应用程序的配置和上下文信息。ServletConfig 提供了 Servlet 的配置信息,而 ServletContext 提供了 Servlet 的上下文信息。 3. HTTP 请求 HTTP 请求是指客户端向...