Servlet获取Web应用程序的初始化参数

ServletContext接口

当Servlet启动时,会为每个Web应用创建一个唯一的ServletContext对象
表示当前Web应用,该对象不仅封装了当前Web应用的所用信息,并且实现了多个Servlet之间数据的共享

获取Web应用程序的初始化参数
在web.xml文件中,不仅可以配置Servlet的初始化信息
还可以配置整个Web应用的初始化信息
配置如下


<web-app xmlns="http://java.sun.com/xml/ns/javaee"
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  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>TestServlet03servlet-name>
        <servlet-class>cn.itcast.chapter04.servlet.TestServlet03servlet-class>
    servlet>
    <servlet-mapping>
        <servlet-name>TestServlet03servlet-name>
        <url-pattern>/TestServlet03url-pattern>
    servlet-mapping>
    <context-param>
        <param-name>companyNameparam-name>
        <param-value>itcastparam-value>
    context-param>
    <context-param>
        <param-name>addressparam-name>
        <param-value>beijingparam-value>
    context-param>
web-app>

参数信息
,位于根元素中
,用来指定参数的名字
,用来指定参数的值

获取这些参数信息,可以使用ServletContext接口
它定义了getInitParameterNames()和getInitParameter(String name)方法
分别用来获取参数名和参数值

示例程序

编写TestServlet03类
代码如下

package cn.itcast.chapter04.servlet;
import java.io.*;
import javax.servlet.*;
import javax.servlet.http.*;
public class TestServlet03 extends HttpServlet{
    public void doGet(HttpServletRequest request,HttpServletResponse response)throws ServletException, IOException{
        response.setContentType("text/html;charset=utf-8");
        PrintWriter out=response.getWriter();
        //得到ServletContext对象
        ServletContext context=this.getServletContext();
        //得到包含所有初始化参数名的Enumeration对象
        Enumeration paramNames=context.getInitParamterNames();
        //遍历所有的初始化参数名,得到相应的参数值,打印到控制台
        out.println("all the paramName and paramValue are following:");
        //遍历所有的初始化参数名,得到相应的参数值并打印
        while(paramNames.hasMoreElement()){
            String name=paramNames.nextElement();
            String value=context.getInitParamter(name);
            out.println(name+":"+value);
            out.println("
"
); } } public void doPost(HttpServletRequest request,HttpServletResponse response)throws ServletException, IOException{ this.doGet(request,response); } }

通过this.getServletContext()方法,获取ServletContext对象
调用getInitParameterNames()方法,获取到包含所有初始化参数名的Enumeration对象,然后,遍历Enumeration对象,根据获取到的参数名,通过getInitParameter(String name)方法,得到对应的参数值
启动Tomcat,在浏览器中输入地址
http://localhost:8080/chapter04/TestServlet03
访问TestServlet03
Servlet获取Web应用程序的初始化参数_第1张图片

你可能感兴趣的:(————Servlet)