初始化参数及访问应用上下文

本文介绍了如何在Servlet中设置和获取初始化参数及上下文参数。初始化参数用于灵活控制Servlet的运行行为,通过ServletConfig的getInitParameter()方法访问。而上下文参数作为全局参数,可供多个Web应用组件访问,它们在web.xml中定义,可以通过ServletContext获取。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

初始化参数及访问应用上下文

获得Servlet初始化参数

配置Servlet时,可以对该Servlet设置初始化参数,通过初始化参数可以更灵活的控制Servlet的运行时行为。
设置初始化参数需要修改web.xml文件,在元素中增加元素,代码如下。

<web-app>
<servlet>
    <servlet-name>HelloServlet</servlet-name>
    <servlet-class>demo.servlet.HelloServlet</servlet-class>
    <init-param>
      <param-name>initParam</param-name>
      <param-value>Hello Servlet</param-value>
    </init-param>
  </servlet>
  <servlet-mapping>
    <servlet-name>HelloServlet</servlet-name>
    <url-pattern>/HelloServlet</url-pattern>
  </servlet-mapping>
  </web-app>

说明 :定义Servlet的初始化参数时使用元素。元素是元素的子元素,使用元素必须包括元素和元素。元素定义初始化参数的名字,元素指定初始化参数的值。
初始化参数在Servlet的初始化环节被加载,并可通过ServletConfig实例的getInitParameter(String name)方法进行访问。下面写一下代码。

public void init() throws ServletException{
	System.out.println("初始化,init()方法被调用");
}

public void doGet(HttpServletRequset requset,HttpServletResponse response)throws ServletException,IOException{
	System.out.println("处理请求时,doGet()方法被调用。");
	String initParam=getInitParameter("initParam");
	System.out.println(initParam);
}

通过GenericeServlet中定义的getInitParameter(String name);方法获取初始化参数。该方法实际上是通过调用ServletConfig的getInitParameter();方法来获取初始化参数值,比getServletConfig.getInitParameter(String name);的完整写法更加简洁方便。

获得上下文参数

为某个Servlet定义的初始化参数只能被该Servlet访问,如果该参数需要被更多的Web应用组件访问,可以使用上下文参数定义。要定义上下文参数同样需要对web.xml文件进行修改。如下

<web-app>
	<context-param>
		<param-name>contextParam</param-name>
		<param-value>ContextParamValue</param-value>
	</context-param>
</web-app>

说明: 使用 元素声明Web应用的全局范围参数,元素包括和元素。元素指定参数的名字,元素指定参数的值。
示例如下:

public void doGet(HttpServletRequset requset,HttpServletResponse response)throws Exception{
	System.out.println("处理请求时,doGet()方法被调用。");
	String initParam=getInitParameter("initParam");
	String contextParam=this.getServletContext().getInitParameter("contextParam");
	System.out.println("Servlet 初始化参数"+initParam);
	System.out.println("上下文参数"+contextParam);
	
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值