在实际开发中,有时候一些变量或者条件不好写死到程序中,需要使用者动态的配置这些内容,比如连接数据库的时候数据库的地址,用户名和密码等等,这些东西一班配置到web.xml中,但是如何才能提前或者这些内容呢,下面使用的ServletCongue 类就能完成这个内容,下面奉上代码,请看,呵呵呵,
首先贴上web.xml代码,这个比较看起来容易一些
- <?xml version="1.0" encoding="UTF-8"?>
- <web-app version="2.4"
- xmlns="http://java.sun.com/xml/ns/j2ee"
- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee
- http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">
- <servlet>
- <servlet-name>ServletDemo3</servlet-name>
- <servlet-class>com.bird.servlet.ServletDemo3</servlet-class>
- <init-param>
- <param-name>data1</param-name>//主要看这里
- <param-value>XXXXXXXAAA</param-value>
- </init-param>
- <init-param>
- <param-name>data2</param-name>
- <param-value>YYYYYYYYYYYYY</param-value>
- </init-param>
- <init-param>
- <param-name>data3</param-name>
- <param-value>ZZZZZZZZZZZZZZZZZ</param-value>
- </init-param>
- </servlet>
- <servlet-mapping>
- <servlet-name>ServletDemo3</servlet-name>
- <url-pattern>/servlet/ServletDemo3</url-pattern>
- </servlet-mapping>
- <welcome-file-list>
- <welcome-file>index.jsp</welcome-file>
- </welcome-file-list>
- </web-app>
- 下面再贴上Servlet代码
- <pre name="code" class="java">package com.bird.servlet;
- import java.io.IOException;
- import java.util.Enumeration;
- import javax.servlet.ServletException;
- import javax.servlet.http.HttpServlet;
- import javax.servlet.http.HttpServletRequest;
- import javax.servlet.http.HttpServletResponse;
- /**
- * @use 使用ServletConfigue得到配置数据
- * @author Bird
- *
- */
- public class ServletDemo3 extends HttpServlet {
- private static final long serialVersionUID = 1L;
- public void doGet(HttpServletRequest request, HttpServletResponse response)
- throws ServletException, IOException {
- //得到指定的数据
- /* String value = this.getServletConfig().getInitParameter("data1");
- System.out.println(value);*/
- //得到所有的数据
- Enumeration<?> e = this.getServletConfig().getInitParameterNames();
- while(e.hasMoreElements()){
- String name = (String) e.nextElement();
- String value = this.getServletConfig().getInitParameter(name);
- System.out.println(value);
- }
- }
- public void doPost(HttpServletRequest request, HttpServletResponse response)
- throws ServletException, IOException {
- doGet(request, response);
- }
- }
运行结果
- <pre name="code" class="html">信息: Reloading context [/Demo]
- XXXXXXXAAA
- YYYYYYYYYYYYY
- ZZZZZZZZZZZZZZZZZ