zl程序教程

您现在的位置是:首页 >  其它

当前栏目

ServletConfig介绍和使用

介绍 使用
2023-09-14 09:05:03 时间

ServletConfig基本介绍

  • ServletConfig类为Servlet中配置信息的类,主要用于读取配置信息
  • ServletConfig由Tomcat进行创建
  • ServletConfig是Servlet中的一个属性,在Servlet被创建时才会被创建。

ServletConfig基本使用        

        我们想一个问题,就是如果我们想要使用代码访问数据库,那么就需要用户名和密码,这时我们肯定不能把用户名和密码硬编码在java文件中吧,肯定得要有个配置文件用于配置数据库相关信息,其实tomcat已近帮我们做了,我们在web.xml中进行配置就行。现在我们要使用ServletConfig进行读取配置信息并进行输出,代码如下

        java代码

import javax.servlet.*;
import javax.servlet.http.*;
import java.io.IOException;

public class ConfigServlet extends HttpServlet {
    @Override
    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        ServletConfig servletConfig = getServletConfig();
        String username = servletConfig.getInitParameter("username");
        String password = servletConfig.getInitParameter("password");
        System.out.println("用户名:" + username + " 密码:" + password);
    }

    @Override
    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        this.doGet(request, response);
    }
}

       xml代码

    <servlet>
        <servlet-name>configServlet</servlet-name>
        <servlet-class>com.clucky.servlet.xml.ConfigServlet</servlet-class>
        <init-param>
            <param-name>username</param-name>
            <param-value>root</param-value>
        </init-param>
        <init-param>
            <param-name>password</param-name>
            <param-value>root</param-value>
        </init-param>
    </servlet>
    <servlet-mapping>
        <servlet-name>configServlet</servlet-name>
        <url-pattern>/config</url-pattern>
    </servlet-mapping>

         运行服务器访问这个Servlet,控制台输出如下

        发现已经成功获取到了,ServletConfig主要就是用于读取配置信息的。最后说明一下,想要获取Servlet的方法,直接调用getServletConfig方法即可,因为前面已经说过了,ServletConfig就是一个配置类,是Servlet的属性,由Tomcat创建,我们直接使用即可,下面是getServletConfig方法的源码。 

 
        getServletConfig方法来自于GenericServlet类,我们看下类图就能明白

 

        我们的类是 GenericServlet的子类,所以直接使用即可。使用ServletConfig时遇见看不懂的方法在网上查询就行了,使用不是很多,一般都是读取下配置文件