如何通过Servlet获取定义在web.xml中的初始化参数

先理一理大致的流程,我们的目的是客户端通过jsp页面请求web.xml中的数据。

首先,我们得在web.xml中定义初始化数据吧,不然用户就要请求空数据了。

那么,说到web.xml,究竟是个什么玩意呢?我也不是很清楚,也没怎么了解。

我只知道它是一个和web工程有关的配置文档,今天我们只要用到它配置一下Servlet就好了。

接下来,我们就创建这个web.xml吧。如何创建?很简单,只要创建一个Servlet,顺带勾选创建web.xml的选项就好了。

在哪里创建servlet?咋感觉你的问题一大堆啊,哥。哈哈哈!

在web工程Src文件夹下的任意位置都可以创建啊。那么问题又来了,,,

哥,别说了。我知道,web工程在哪里创建,对不对?

对你个大头鬼啊,web工程都不会创建,你还写什么web,这是最基础的好不好。

开篇到这里也就差不多了,没办法,有些人就是那么傻,哈哈哈,下面我从创建Web工程项目开始,给出整个实例的过程。

1 创建一个Web projecet,命名为 ServletGetInitParameter
2 修改 WebRoot -> index.jsp 的body内容为

<body>
    <h1>获取初始化参数示例h1><br>
    <a href="servlet/GetInitParameter">获取初始化参数a>
body>

3 在src下建一个包,在包下面建一个servlet类,命名为 GetInitParameter,当创建完之后在WebRoot->WEB-INF 下面就会生成web.xml。
如何通过Servlet获取定义在web.xml中的初始化参数_第1张图片

如何通过Servlet获取定义在web.xml中的初始化参数_第2张图片
如何通过Servlet获取定义在web.xml中的初始化参数_第3张图片

4 打开web.xml,里面已经有servlet的默认配置了。要添加的自定义数据就加载里面。
添加自定义数据前servlet默认配置


    This is the description of my J2EE component
    name>This is the display name of my J2EE componentname>
    name>GetInitParametername>
    class>servlet.GetInitParameterclass>
  

  
    name>GetInitParametername>
    /servlet/GetInitParameter
  

添加自定义数据后的servlet默认配置,加了,其中包含了username变量和password变量的值。admin,123456

<servlet>
    <description>This is the description of my J2EE componentdescription>
    <display-name>This is the display name of my J2EE componentdisplay-name>
    <servlet-name>GetInitParameterservlet-name>
    <servlet-class>servlet.GetInitParameterservlet-class>
    <init-param>
        <param-name>usernameparam-name>
        <param-value>adminparam-value>
    init-param>
    <init-param>
        <param-name>passwordparam-name>
        <param-value>123456param-value>
    init-param>
  servlet>

  <servlet-mapping>
    <servlet-name>GetInitParameterservlet-name>
    <url-pattern>/servlet/GetInitParameterurl-pattern>
  servlet-mapping>

5 在GetInitParameter Servlet 类中添加两个私有变量,username和password并创建各自的setter和getter方法。username和password分别用来保存web.xml中自定义的数据。

    private String username;
    private String password;
    public String getUsername() {
        return username;
    }

    public void setUsername(String username) {
        this.username = username;
    }

    public String getPassword() {
        return password;
    }

    public void setPassword(String password) {
        this.password = password;
    }

5 在init()方法中添加以下代码。getInitParameter()方法是获取web.xml中属于的接口方法。

    public void init() throws ServletException {
        // Put your code here
        this.setUsername(this.getInitParameter("username"));
        this.setPassword(this.getInitParameter("password"));    
    }

6 在doGet方法中添加以下代码。

    response.setContentType("text/html;charset=utf-8");
        PrintWriter out = response.getWriter();
        out.println("用户名:"+this.username+"
"
); out.println("密码:"+this.password);

7 文档通通保存。部署web工程并启动tomcat服务器。
打开浏览器,输入url:http://127.0.0.1:10086/ServletGetInitParameter/index.jsp
这边要说的是,服务器端口可以自己定义。我改的是10086,默认端口是8080。
正常的界面应该如下
如何通过Servlet获取定义在web.xml中的初始化参数_第4张图片

点击 获取初始化参数

如何通过Servlet获取定义在web.xml中的初始化参数_第5张图片

8 完了,就这样,实例演示完毕!我刚刚干了一件事情,我把之前图片上的水印都去掉了。

你可能感兴趣的:(JavaWeb)