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>
答:
在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>
相关文章推荐
- ServletConfig与ServletContext对象(接口)
- ServletConfig对象
- ServletConfig和ServletContext对象
- javaweb基础学习(一)<ServletConfig与ServletContext对象详解>
- ServletConfig对象的方法
- Java Servlet(三):Servlet中ServletConfig对象和ServletContext对象
- Servlet的学习(二)-ServletConfig对象和ServletContext对象
- ServletConfig与ServletContext对象详解
- ServletConfig与ServletContext对象详解
- java Servlet 之 ServletConfig 服务器配置对象
- Struts2的Action获取ServletConfig对象的解决方案
- servlet中获取ServletConfig 对象的 方法
- 【Jsp+Servlet】JSP的内置对象-config
- 第10天(就业班) servlet的映射路径、生命周期、自动加载+init方法+线程并发安全、servletconfig对象+servletcontext对象入门、servletcontext对象的使
- ServletConfig与ServletContext对象详解
- ServletConfig对象和ServletContext对象
- ServletConfig对象和它在开发中的应用场
- JavaWeb开发之Servlet中的线程问题及使用ServletConfig对象操作Servlet中的参数
- Servlet总结(2)--ServletConfig和ServletContext对象
- Struts2的Action获取ServletConfig对象的解决方案