您的位置:首页 > 其它

Serlet ServletConfig对象

2014-04-24 14:31 253 查看
如何为servlet配置一些初始化参数?

答:

在Servlet的配置文件里,可以使用一个或多个<init-param>标签为Servlet配置一些初始化参数。

web容器是如何使用这些初始化参数的?

答:

当servlet配置了初始化参数后,web容器在创建servlet实例对象时,会自动将这些初始化参数

封装到ServletConfig对象中,并在调用servlet的init方法时,将ServletConfig对象传递给servlet。

进而,程序员通过ServletConfig对象就可以得到当前servlet的初始化参数信息。

demo:

java代码:

package net.peng.web3;

import java.io.IOException;
import java.io.PrintWriter;

import javax.servlet.ServletConfig;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

/**
* Servlet implementation class HelloServletConfig
*/
// @WebServlet("/")

public class HelloServletConfig extends HttpServlet {
private static final long serialVersionUID = 1L;
ServletConfig config;

//初始化ServletConfig
@Override
public void init(ServletConfig config) throws ServletException {
this.config = config;
super.init(config);
}

protected void doGet(HttpServletRequest request,
HttpServletResponse response) throws ServletException, IOException {

String encoding = config.getInitParameter("encoding");
PrintWriter pw = response.getWriter();
pw.print("aa" + encoding);

}

protected void doPost(HttpServletRequest request,
HttpServletResponse response) throws ServletException, IOException {
}

}


web.xml文件
<?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" id="WebApp_ID" version="3.0">
<display-name>web3ServletConfig</display-name>
<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>
<servlet-name>a</servlet-name>
<servlet-class>net.peng.web3.HelloServletConfig</servlet-class>
<init-param>
<param-name>encoding</param-name>
<param-value>utf-8</param-value>
</init-param>
</servlet>
<servlet-mapping>
<servlet-name>a</servlet-name>
<url-pattern>/a</url-pattern>
</servlet-mapping>
</web-app>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: