标签:
示例:配置FirstServletConfig的初始化参数
<?xml version="1.0" encoding="UTF-8"?> <web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" version="3.0"> <servlet> <servlet-name>FirstServletConfig</servlet-name> <servlet-class>servletConfig.FirstServletConfig</servlet-class> <!-- init-param的key-value paris可以通过ServletConfig传递到Servlet中 --> <init-param> <param-name>testServletConfig</param-name> <param-value>GetFirstServletConfig</param-value> </init-param> </servlet> <servlet-mapping> <servlet-name>FirstServletConfig</servlet-name> <url-pattern>/FirstServletConfig</url-pattern> </servlet-mapping> <servlet> <servlet-name>OverrideServletConfig</servlet-name> <servlet-class>servletConfig.OverrideServletConfig</servlet-class> <!-- init-param的key-value paris可以通过ServletConfig传递到Servlet中 --> <init-param> <param-name>OverrideServletConfig</param-name> <param-value>OverrideServletConfig</param-value> </init-param> </servlet> <servlet-mapping> <servlet-name>OverrideServletConfig</servlet-name> <url-pattern>/OverrideServletConfig</url-pattern> </servlet-mapping> </web-app>
示例:通过 this.getServletConfig() 获取传递进来的ServletConfig对象
package servletConfig;
import java.util.Enumeration;
import javax.servlet.ServletConfig;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
/*
* 1.在web-xml中的servlet下面配置<init-param>
* 2.获取ServletConfig对象:this.getServletConfig() 或者是申明ServletConfig config,然后重写初始化方法,直接调用config对象。(二选一,不能共存)
* 3.通过config.getInitParameter(name) 获取特定初始化参数 或者是 config.getInitParameterNames()获取所有初始化参数名
*
*/
public class FirstServletConfig extends HttpServlet {
public void doGet(HttpServletRequest request, HttpServletResponse response) {
enumServletConfigInitParams();
}
public void enumServletConfigInitParams() {
// 通过this.getServletConfig() 获取Tomcat传递的ServletConfig对象
Enumeration<String> initParas = this.getServletConfig().getInitParameterNames();
String name, value;
while (initParas.hasMoreElements()) {
name = initParas.nextElement();
value = this.getServletConfig().getInitParameter(name);
System.out.println("name:" + name);
System.out.println("value:" + value);
}
}
}
示例:通过重载Servlet初始化方法,获取传递进来的ServletConfig对象
package servletConfig;
import javax.servlet.ServletConfig;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
public class OverrideServletConfig extends HttpServlet{
private ServletConfig config;
public void doGet(HttpServletRequest request, HttpServletResponse response) {
getServletConfigInitParamByName();
}
public void getServletConfigInitParamByName() {
//通过输入特定的初始化参数名称获得初始化参数值
String value = this.config.getInitParameter("OverrideServletConfig");
System.out.println("value:" + value);
}
//重写了Servlet的初始化方法,把服务器封装的ServletConfig传递给了当前Servlet的私有Config对象
//一旦重写了此方法,不能够再调用 this.getServletConfig()获取当前Servlet的ServletConfig对象,只能通过传递过来的私有变量config来操作。
public void init(ServletConfig config){
this.config=config;
}
}
标签:
原文地址:http://www.cnblogs.com/vivian-test/p/5928891.html