11. Servlet入门 – ServletConfig的使用介绍

11. Servlet入门 – ServletConfig的使用介绍

ServletConfig

ServletConfig 类从类名上来看,就知道是 Servlet 程序的配置信息类。

Servlet 程序和 ServletConfig 对象都是由 Tomcat 负责创建,我们负责使用。

Servlet 程序默认是第一次访问的时候创建,ServletConfig 是每个 Servlet 程序创建时,就创建一个对应的 ServletConfig 对象。

ServletConfig 类的三大作用

1、可以获取 Servlet 程序的别名 servlet-name 的值

2、获取初始化参数 init-param

3、获取 ServletContext 对象

代码演示 – 使用实现 Servlet 接口实现的类

1.回到之前我们使用 Servlet 接口实现的类,在 init() 的方法处获取 别名 servlet-name 的值

11. Servlet入门 - ServletConfig的使用介绍
image-20201223232451833
@Override
public void init(ServletConfig config) throws ServletException {
    System.out.println("2. init 方法");
    // 1、可以获取 Servlet 程序的别名 servlet-name 的值
    System.out.println("获取 Servlet 程序的别名 servlet-name 的值: " + config.getServletName());
}

2、获取初始化参数 init-param (注意:这种就要使用 web.xml 配置 Servlet 的方式)

除了可以获取 Servlet 的别名,我们还可以获取 xml 中配置的初始化参数。那么我们首先需要在 xml 配置一下初始化参数,如下:

2.1 在 web.xml 配置初始化参数:
11. Servlet入门 - ServletConfig的使用介绍
image-20201111235852528
<!-- servlet标签给Tomcat配置Servlet程序 -->
<servlet>
    <!--servlet-name标签 Servlet程序起一个别名(一般是类名) -->
    <servlet-name>HelloServlet</servlet-name>
    <!--servlet-class是Servlet程序的全类名-->
    <servlet-class>com.test01.HelloServlet</servlet-class>
    <!--init-param 是初始化参数-->
    <init-param>
        <!--是参数名-->
        <param-name>username</param-name>
        <!--是参数值-->
        <param-value>root</param-value>
    </init-param>
    <!--init-param 是初始化参数-->
    <init-param>
        <!--是参数名-->
        <param-name>url</param-name>
        <!--是参数值-->
        <param-value>jdbc:mysql://localhost:3306/test</param-value>
    </init-param>
</servlet>

<!--servlet-mapping标签给servlet程序配置访问地址-->
<servlet-mapping>
    <!--servlet-name标签的作用是告诉服务器,我当前配置的地址给哪个Servlet程序使用-->
    <servlet-name>HelloServlet</servlet-name>
    <!--
        url-pattern标签配置访问地址
           / 斜杠在服务器解析的时候,表示地址为:http://ip:port/工程路径
           /hello 表示地址为:http://ip:port/工程路径/hello
    -->

    <url-pattern>/hello</url-pattern>
</servlet-mapping>
2.2 在 init 方法中读取 init-param
11. Servlet入门 - ServletConfig的使用介绍
image-20201112000135093
@Override
public void init(ServletConfig servletConfig) throws ServletException {
    System.out.println("2. init 初始化方法");
    // 1、可以获取 Servlet 程序的别名 servlet-name 的值
    System.out.println("获取 Servlet 程序的别名 servlet-name 的值: " + servletConfig.getServletName());
    // 2、获取初始化参数 init-param
    System.out.println("初始化参数 username: " + servletConfig.getInitParameter("username"));
    System.out.println("初始化参数 url: " + servletConfig.getInitParameter("url"));
}

3、获取 ServletContext 对象

11. Servlet入门 - ServletConfig的使用介绍
image-20201112000338669
@Override
public void init(ServletConfig servletConfig) throws ServletException {
    System.out.println("2. init 初始化方法");
    // 1、可以获取 Servlet 程序的别名 servlet-name 的值
    System.out.println("获取 Servlet 程序的别名 servlet-name 的值: " + servletConfig.getServletName());
    // 2、获取初始化参数 init-param
    System.out.println("初始化参数 username: " + servletConfig.getInitParameter("username"));
    System.out.println("初始化参数 url: " + servletConfig.getInitParameter("url"));
    // 3、获取 ServletContext 对象
    System.out.println("获取 ServletContext 对象: " + servletConfig.getServletContext());
}

使用总结

一般 ServletConfig 是在提供框架初始化参数的时候使用的,那么也就需要使用 web.xml 配置框架的 Servlet 的时候提供传递参数。


原文始发于微信公众号(海洋的渔夫):11. Servlet入门 – ServletConfig的使用介绍

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/34673.html

(0)
小半的头像小半

相关推荐

发表回复

登录后才能评论
极客之音——专业性很强的中文编程技术网站,欢迎收藏到浏览器,订阅我们!