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

JavaWeb 专栏收录该内容
6 篇文章 0 订阅

先理一理大致的流程,我们的目的是客户端通过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。
这里写图片描述

这里写图片描述
这里写图片描述

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

<servlet>
    <description>This is the description of my J2EE component</description>
    <display-name>This is the display name of my J2EE component</display-name>
    <servlet-name>GetInitParameter</servlet-name>
    <servlet-class>servlet.GetInitParameter</servlet-class>
  </servlet>

  <servlet-mapping>
    <servlet-name>GetInitParameter</servlet-name>
    <url-pattern>/servlet/GetInitParameter</url-pattern>
  </servlet-mapping>

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

<servlet>
    <description>This is the description of my J2EE component</description>
    <display-name>This is the display name of my J2EE component</display-name>
    <servlet-name>GetInitParameter</servlet-name>
    <servlet-class>servlet.GetInitParameter</servlet-class>
    <init-param>
        <param-name>username</param-name>
        <param-value>admin</param-value>
    </init-param>
    <init-param>
        <param-name>password</param-name>
        <param-value>123456</param-value>
    </init-param>
  </servlet>

  <servlet-mapping>
    <servlet-name>GetInitParameter</servlet-name>
    <url-pattern>/servlet/GetInitParameter</url-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+"<br>");
        out.println("密码:"+this.password);

7 文档通通保存。部署web工程并启动tomcat服务器。
打开浏览器,输入url:http://127.0.0.1:10086/ServletGetInitParameter/index.jsp
这边要说的是,服务器端口可以自己定义。我改的是10086,默认端口是8080。
正常的界面应该如下
这里写图片描述

点击 获取初始化参数

这里写图片描述

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

  • 6
    点赞
  • 0
    评论
  • 2
    收藏
  • 一键三连
    一键三连
  • 扫一扫,分享海报

©️2021 CSDN 皮肤主题: 大白 设计师:CSDN官方博客 返回首页
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。

余额充值