转自:http://blog.csdn.net/liaoxiaohua1981/article/details/6759206
• 格式定义:
01. <context-param>
02. <param-name>contextConfigLocation</param-name>
03. <param-value>contextConfigLocationValue></param-value>
04. </context-param>
作用:该元素用来声明应用范围(整个WEB项目)内的上下文初始化参数。
param-name 设定上下文的参数名称。必须是唯一名称
param-value 设定的参数名称的值
•初始化过程:
1.在启动Web项目时,容器(比如Tomcat)会读web.xml配置文件中的两个节点<listener>和<contex-param>。
2.接着容器会创建一个ServletContext(上下文),应用范围内即整个WEB项目都能使用这个上下文。
3.接着容器会将读取到<context-param>转化为键值对,并交给ServletContext。
4.容器创建<listener></listener>中的类实例,即创建监听(备注:listener定义的类可以是自定义的类但必须需要继承ServletContextListener)。
5.在监听的类中会有一个contextInitialized(ServletContextEvent event)初始化方法,在这个方法中可以通过event.getServletContext().getInitParameter("contextConfigLocation") 来得到context-param 设定的值。在这个类中还必须有一个contextDestroyed(ServletContextEvent event) 销毁方法.用于关闭应用前释放资源,比如说数据库连接的关闭。
6.得到这个context-param的值之后,你就可以做一些操作了.注意,这个时候你的WEB项目还没有完全启动完成.这个动作会比所有的Servlet都要早。
由上面的初始化过程可知容器对于web.xml的加载过程是context-param >> listener >> fileter >> servlet
• 如何使用
1.页面中
${initParam.contextConfigLocation}
2.Servlet中
String paramValue=getServletContext().getInitParameter("contextConfigLocation")
声明:此内容为整理所得
-------------------------------------------------------------------------------------------------------------
、初始化参数
web.xml里面可以定义两种参数:
(1)application范围内的参数,存放在servletcontext中,在web.xml中配置如下:
<param-name>context/param</param-name>
<param-value>avalible during application</param-value>
</context-param>
(2)servlet范围内的参数,只能在servlet的init()方法中取得,在web.xml中配置如下:
<servlet-name>MainServlet</servlet-name>
<servlet-class>com.wes.controller.MainServlet</servlet-class>
<init-param>
<param-name>param1</param-name>
<param-value>avalible in servlet init()</param-value>
</init-param>
<load-on-startup>0</load-on-startup>
</servlet>
在servlet中可以通过代码分别取用:
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
public class MainServlet extends HttpServlet {
public MainServlet() {
super();
}
public void init() throws ServletException {
System.out.println("下面的参数是存放在servletcontext中的");
System.out.println(getServletContext().getInitParameter("context/param"));
System.out.println("下面的两个参数param1是在servlet中存放的");
}
}
第一种参数在servlet里面可以通过getServletContext().getInitParameter("context/param")得到
第二种参数只能在servlet的init()方法中通过this.getInitParameter("param1")取
2、初始化参数获取
<context-param>
<param-name>count</param-name>
<param-value>1200</param-value>
</context-param>
<servlet>
<description>loginServlet</description>
<display-name>loginServlet</display-name>
<servlet-name>loginServlet</servlet-name>
<servlet-class>loginServlet</servlet-class>
<init-param>
<description>系统初始化数</description>
<param-name>num</param-name>
<param-value>100</param-value>
</init-param>
</servlet>
<servlet-mapping>
<servlet-name>loginServlet</servlet-name>
<url-pattern>/loginServlet</url-pattern>
</servlet-mapping>
获取参数的方法以及异同
String username=request.getParameter("username");
response.setCharacterEncoding("gb2312");
System.out.println("getServletContext():"+getServletContext());
ServletContext context=getServletConfig().getServletContext();
String num=context.getInitParameter("num");// <init-param> 获取不到值
String count=context.getInitParameter("count");//<context-param> 获取到值
System.out.println("num:"+num);//null
System.out.println("count:"+count);//1200
System.out.println("num:"+getServletConfig().getInitParameter("num"));//100获取到值
System.out.println("count:"+getServletConfig().getInitParameter("count"));//null获取不到值
System.out.println("request.getSession().getServletContext():"+request.getSession().getServletContext());
request.setAttribute("username", username);
PrintWriter out=response.getWriter();
out.println("获取的用户名是:"+username);
相关推荐
web.xml 配置详解 web.xml 配置详解是指在 Java Web 应用程序中使用的部署描述符配置文件。它是一个 XML 文件,包含了很多描述 servlet/JSP 应用的各个方面的元素,如 servlet 注册、servlet 映射以及监听器注册。 ...
Web.xml 配置详解 Web.xml 是一个部署描述符文件,用于描述 Web 应用程序的配置信息。该文件是基于 XML 语法的,所有的元素都是大小写敏感的。下面是 web.xml 配置文件的详细解释: 定义头和根元素 在 web.xml ...
### 部署描述文件web.xml配置详解 #### 一、引言 在Java Web开发中,`web.xml`是一个非常重要的配置文件,它作为Web应用程序的部署描述符,负责管理与应用程序相关的各项配置信息。本文将深入解析`web.xml`的各项...
### web.xml配置文件详解 #### 一、概述 `web.xml`是Java Web应用程序的核心配置文件之一,主要用于定义Web应用程序的结构与行为。它是Servlet容器(如Tomcat)读取Web应用程序配置信息的主要来源,因此深入理解其...
在构建基于Spring MVC的Web应用程序时,`web.xml`配置文件扮演着至关重要的角色。它定义了应用程序的行为,包括启动时的初始化、请求处理以及中间件的设置。下面我们将详细探讨`web.xml`中涉及Spring MVC的主要配置...
### Web.xml配置详解 #### 一、Web.xml概述 `web.xml` 文件是Java Web应用程序的核心配置文件之一,主要用于配置应用程序级别的各种初始化参数、监听器、过滤器、Servlet映射等。通过`web.xml`,开发者可以灵活地...
WEB-INF中的web.xml配置详解 本文将详细介绍WEB-INF中的web.xml文件中的配置,包括Context配置、Resource配置、resource-ref配置,以及对应的Java类编写。 一、Context配置 在WEB-INF中的web.xml文件中,添加以下...
-- context-param 元素用来设定web站台的环境参数(context),它包含两个子元素:param-name和param-value.,如spring的典型配置 --> <context-param> <!-- 设定Context名称 --> <param-name>contextConfigLocation...
Tomcat 中用 web.xml 控制 Web 应用详解 Tomcat 中 web.xml 文件是 Web 应用的核心配置文件,负责管理 Web 应用的生命周期、Servlet 的加载顺序、Filter 的配置等。下面对 web.xml 文件中的重要元素进行详细解释。 ...
这意味着,在 web.xml 文件中,context-param 配置节应该写在 listener 配置节之前,listener 配置节应该写在 filter 配置节之前,filter 配置节应该写在 servlet 配置节之前。 需要注意的是,与某类配置节相关的...
web.xml 配置详解 Web.xml 是一个用于配置 Java Web 应用程序的 XML 文件,它提供了站台的配置设定。web.xml 文件位于每个站点的 WEB-INF 目录下,用于定义站台的名称、环境参数、Servlet 的名称和映射、Session 的...
【Web.xml配置说明】 在B/S(Browser/Server,浏览器/服务器)项目中,Web.xml文件扮演着核心角色,它是Web应用程序的部署描述符。它包含了一系列配置信息,用于指导服务器如何运行和管理Web应用。以下是对Web.xml...