`
TRAMP_ZZY
  • 浏览: 139050 次
社区版块
存档分类
最新评论

ServletContext 与ServletConfig剖析

阅读更多
1. ServletContext 是一个全局的储存信息的空间,服务器开始,其就存在,服务器关闭,其才释放。request,一个用户可有多个;session,一个用户一个;而servletContext,所有用户共用一个。所以,为了节省空间,提高效率,ServletContext中,要放必须的、重要的、所有用户需要共享的线程又是安全的一些信息。[/size]一个ServletContext对象表示了一个Web应用程序的上下文。运行在JAVA虚拟机中的每一个Web应用程序都有一个与之相关的Servlet上下文。


2. ServletConfig 从一个servlet被实例化后,对任何客户端在任何时候访问有效,但仅对本servlet有效,一个servlet的ServletConfig对象不能被另一个servlet访问。


3. 配置相应范围的参数和读取
<context-param>
    <param-name>charset</param-name>
    <param-value>utf-8</param-value>
  </context-param>
  <welcome-file-list>
    <welcome-file>index.html</welcome-file>
    <welcome-file>index.htm</welcome-file>
    <welcome-file>index.jsp</welcome-file>
    <welcome-file>default.html</welcome-file>
    <welcome-file>default.htm</welcome-file>
    <welcome-file>default.jsp</welcome-file>
  </welcome-file-list>
  <servlet>
    <description></description>
    <display-name>TestServletContextServlet</display-name>
    <servlet-name>TestServletContextServlet</servlet-name>
    <servlet-class>cn.fruit.test.TestServletContextServlet</servlet-class>
    <init-param>
    	<param-name>servletconfig</param-name>
    	<param-value>zhang</param-value>
    </init-param>
  </servlet>
  <servlet-mapping>
    <servlet-name>TestServletContextServlet</servlet-name>
    <url-pattern>/TestServletContextServlet</url-pattern>
  </servlet-mapping>


public class TestServletContextServlet extends HttpServlet {
	private static final long serialVersionUID = 1L;
       
  
	public void init(ServletConfig config) throws ServletException {
		
		super.init(config);
		
		ServletContext context = config.getServletContext();
		String attr = (String) context.getInitParameter("charset");
		String initP = config.getInitParameter("servletconfig");
		System.out.println("attr " + attr);
		System.out.println("initP " + initP);
	}

	/**
	 * @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
	 */
	protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		// TODO Auto-generated method stub
		System.out.println("fuck");
		System.out.println("path info " + request.getPathInfo());
		ServletContext context = request.getServletContext();
		System.out.println(context.getInitParameter("charset"));
	}

	/**
	 * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
	 */
	protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		// TODO Auto-generated method stub
	}

}

分享到:
评论

相关推荐

    ServletContext与ServletConfig的深度分析

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

    ServletConfig

    虽然ServletConfig和ServletContext都与Servlet容器相关,但它们的角色不同。ServletConfig主要用于传递特定Servlet的初始化参数,而ServletContext则代表了整个Web应用程序的上下文,它可以共享数据给所有Servlet或...

    35、servlet--servletContext

    ServletContext是Java Servlet API中的一个核心接口,它代表了Servlet容器(如Tomcat、Jetty等)中的一个全局上下文,提供了与整个Web应用程序相关的功能。在Servlet开发中,ServletContext扮演着重要的角色,允许...

    JavaWeb_servlet(10)_ 通过 ServletContex 获得根目录下的文件路径

    ServletContext接口扮演着重要的角色,它是Servlet与应用程序上下文之间的桥梁。在这个主题中,我们将深入探讨如何使用ServletContext来获取JavaWeb应用的根目录下的文件路径,这对于读取、写入或操作静态资源如图片...

    ServletContex 的全局属性设置

    ServletContext 的概念与作用 **ServletContext** 是服务器为每个 Web 应用程序创建的一个对象,它在整个 Web 应用生命周期中只存在一个实例。这个对象可以用来存储应用程序级别的信息,如配置信息、统计信息等,...

    session会话管理

    ServletConfig 和 ServletContext 是两个不同的概念: * ServletConfig:代表 Servlet 对象的信息,可以通过 `getServletConfig()` 方法获取。 * ServletContext:代表 Web 应用程序的信息,可以通过 `...

    Servlet 源码

    4. `ServletConfig`和`ServletContext`:`ServletConfig`提供了Servlet的配置信息,如初始化参数;`ServletContext`代表了整个Web应用的上下文,提供了全局共享数据和事件监听等功能。 通过分析Servlet源码,我们...

    Java详解Tomcat 的设计模式分析.doc

    例如,Request和Response对象的封装,Standard Wrapper到ServletConfig的映射,以及ApplicationContext到ServletContext的转化,都是门面模式的实例。这种模式允许客户端(如Web应用程序)与复杂的系统(如Tomcat)...

    2023年计算机笔试面试题汇总内容很丰富.doc

    19. ServletConfig 对象与 ServletContext 对象的作用和区别:该题目考察了 Web 编程的基础知识,要求分析 ServletConfig 对象与 ServletContext 对象的作用和区别。 知识点:Web 编程、Servlet 20. 数据结构:该...

    wex框架初始化完全解析.doc

    `configure()` 方法是 WebxControllerServlet 的核心方法,它负责初始化 WebxController 和将相关的 servletConfig 对象放到 ServletContext 中。`configure()` 方法中调用了 `WebxUtil.getWebxController...

    serlvet-api-3.1源码

    4. **ServletConfig**和**ServletContext**:ServletConfig对象提供了Servlet的配置信息,而ServletContext对象则代表了一个Web应用的全局信息,可以在所有Servlet之间共享数据。 5. **过滤器(Filter)**:Filter...

    Java Servlet API .pdf

    接下来,我们将深入分析 Java Servlet API 中的关键接口和类,以便更好地理解它们的功能和用途。 ##### 1. **RequestDispatcher** - **定义**:`RequestDispatcher` 定义了一个请求分发器对象,该对象可以接收来自...

    servlet-api

    - 学习如何利用ServletConfig和ServletContext进行配置和全局通信。 **实际开发中的应用** 在实际开发中,掌握Servlet-api可以帮助开发者: - 更高效地编写服务器端代码,如正确处理异步请求,优化性能。 - 避免...

    servlet反编译源码

    - Servlet是如何与ServletConfig交互获取初始化参数的。 - 如何利用ServletContext获取全局信息,如服务器配置或共享数据。 - 如何利用RequestDispatcher进行请求转发或包含。 - 如何处理异常,特别是在service()...

    javax-servlet源码包和jar文件

    1. **Servlet API**: `javax.servlet` 包含了Servlet和Filter的核心接口和类,如`Servlet`, `GenericServlet`, `HttpServlet`, `ServletConfig`, `ServletContext`等。`Servlet`是所有Servlet类的抽象基类,`...

    Tomcat系统架构与设计模式,第2部分:设计模式分析

    门面设计模式门面设计模式在Tomcat中有多处使用,在Request和Response对象封装中、StandardWrapper到ServletConfig封装中、ApplicationContext到ServletContext封装中等都用到了这种设计模式。门面设计模式的原理...

Global site tag (gtag.js) - Google Analytics