config对象是javax.servlet.ServletConfig接口的实例化对象,主要作用是得到一些初始化信息
config对象和web安全是绑定在一起的,再一个虚拟目录下必须存在一个WEB-INF的文件夹,但是用户是看不到的,所以我们将文件放在WEB-INF中是安全的,但是也给访问带来了困难,我们只有通过映射来解决。
映射的做法:修改WEB-INF中的web,xml,增加以下配置
<servlet>
<servlet-name>he</servlet-name>
<jsp-file>/WEB-INF/Hello.jsp</jsp-file>
</servlet>
<servlet-mapping>
<servlet-name>he</servlet-name>
<url-pattern>/hehe.html</url-pattern>
</servlet-mapping>
在浏览器中输入localhost/lk/hehe.html即可访问到WEB-INFO下的Hello.jsp中的内容
而config对象只有对映射后的jsp文件有效,主要有两个常用的方法
1. public String getInitParameter(String name)
2. public Enumeration getInitParameterNames()
首先我们来配置初始化参数,初始化参数需要在xml文件中配置。还是在web.xml文件的servlet中配置初始化参数
<servlet>
<servlet-name>he</servlet-name>
<jsp-file>/WEB-INF/Hello.jsp</jsp-file>
<init-param>
<param-name>name</param-name>
<param-value>liuke</param-value>
</init-param>
<init-param>
<param-name>age</param-name>
<param-value>22</param-value>
</init-param>
</servlet>
然后我们取得参数
<%@ page contentType="text/html" pageEncoding="utf-8" language="java" %>
<%@ page import="java.util.*"%>
<!DOCTYPE html>
<html>
<head>
<title>www.liuke.com</title>
</head>
<body>
<%
request.setCharacterEncoding("utf-8");
String name = config.getInitParameter("name");
String age = config.getInitParameter("age");
%>
<h1>姓名:<%= name%></h1>
<h1>年龄:<%= age%></h1>
</body>
</html>