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时遇见看不懂的方法在网上查询就行了,使用不是很多,一般都是读取下配置文件