ServletConfig使用说明
来源:互联网 发布:混沌战域翅膀进阶数据 编辑:程序博客网 时间:2024/05/17 02:41
在Servlet的配置文件中,可以使用一个或多个<init-param>
标签为servlet配置一些初始化参数。当servlet配置了初始化参数后,web容器在创建servlet实例对象时,会自动将这些初始化参数封装到ServletConfig对象中,并在调用servlet的init方法时,ServletConfig对象传递给servlet。进而,程序员通过ServletConfig对象就可以得到当前servlet的初始化参数信息。
Servlet:
public class ConfigServlet extends HttpServlet { ServletConfig config; public void doGet(HttpServletRequest request, HttpServletResponse response) throws IOException { //获取指定的初始化参数 String donwloadPath = config.getInitParameter("donwloadPath"); System.out.println("donwloadPath="+donwloadPath); response.getOutputStream().write(donwloadPath.getBytes()); //循环获取所有初始化参数 Enumeration<String> list = config.getInitParameterNames(); while(list.hasMoreElements()){ String name = list.nextElement(); String value = config.getInitParameter(name); System.out.println(name+"="+value); String str = name+"="+value; response.getOutputStream().write(str.getBytes()); } } public void doPost(HttpServletRequest request, HttpServletResponse response) throws IOException { doGet(request,response); } public void init(ServletConfig config) { this.config = config; }}
web.xml:
<!-- 测试servletConfig的使用 这里的init-param要放在servlet中--> <servlet> <servlet-name>ConfigServlet</servlet-name> <servlet-class>com.learn.servletconfig.ConfigServlet</servlet-class> <init-param> <param-name>donwloadPath</param-name> <param-value>/user/downloadPath</param-value> </init-param> <init-param> <param-name>name</param-name> <param-value>root</param-value> </init-param> <init-param> <param-name>password</param-name> <param-value>111111111</param-value> </init-param> </servlet> <servlet-mapping> <servlet-name>ConfigServlet</servlet-name> <url-pattern>/config.action</url-pattern> </servlet-mapping>
运行结果:
donwloadPath=/user/downloadPathpassword=111111111donwloadPath=/user/downloadPathname=root
ConfigServlet对象中有一个ServletConfig对象,其实这是不必要的。因为ConfigServlet继承了HttpServlet,HttpServlet又继承了GenericServlet 。GenericServlet 已经在内部维护了一个ServletConfig对象
GenericServlet源码如下:
public abstract class GenericServlet implements Servlet, ServletConfig, java.io.Serializable{ private static final String LSTRING_FILE = "javax.servlet.LocalStrings"; private static ResourceBundle lStrings = ResourceBundle.getBundle(LSTRING_FILE); private transient ServletConfig config; public GenericServlet() { }}
直接使用this.getServletConfig()方法:
public void doGet(HttpServletRequest request, HttpServletResponse response) throws IOException { //获取指定的初始化参数 String donwloadPath = this.getServletConfig().getInitParameter("donwloadPath"); System.out.println("donwloadPath="+donwloadPath); response.getOutputStream().write(donwloadPath.getBytes()); //循环获取所有初始化参数 Enumeration<String> list = this.getServletConfig().getInitParameterNames(); while(list.hasMoreElements()){ String name = list.nextElement(); String value = this.getServletConfig().getInitParameter(name); System.out.println(name+"="+value); String str = name+"="+value; response.getOutputStream().write(str.getBytes()); } }
阅读全文
0 0
- ServletConfig使用说明
- ServletConfig
- servletConfig
- ServletConfig
- servletconfig
- ServletConfig
- ServletConfig
- ServletConfig
- ServletConfig
- ServletConfig
- ServletConfig
- servletConfig
- servletconfig
- ServletConfig
- ServletConfig
- ServletConfig
- ServletConfig原理
- ServletConfig接口
- sql 中 limit 与 limit,offset连用的区别
- STL编程题-集合动态修改
- Spring 使用注解方式进行事务管理
- 一次性使用的小ATM(笑趴
- java 反射机制小结
- ServletConfig使用说明
- 怎样才算好代码
- 基于K近邻法的手写数字图像识别
- 最长公共子序列(LCS)
- 微信小程序:如何创建一个小程序页面?
- avl tree的插入删除操作代码
- ARIMA时间序列分析
- [codevs]: 切水果(线段树)
- EntityFramework(EF) 单表与主从表的使用