在web.xml中的这种就是配置信息。想获取配置文件里的信息?
使用ServletConfig,这是服务器Tomact创建的。
第一种获取ServletConfig的方式:
创建一个自己的Servlet类,然后继承HttpServlet,重写init方法(带参数的)
@Override public void init(ServletConfig config) throws ServletException { super.init(config); this.myServletConfig=config; }
在配置文件里加入<init-param>标签,这里初始化的参数是encoding,让他等于GBK
之后在doPost、doGet方法里就可以是用ServletConfig获取这些配置信息
上面使用config对象的getInitParameter来获取配置信息
MyServlet类:
import javax.servlet.ServletConfig; import javax.servlet.ServletException; import javax.servlet.annotation.WebServlet; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import java.io.IOException; /** * Created by Administrator on 2018/7/6. */ @WebServlet(name = "MyServlet") public class MyServlet extends HttpServlet { private ServletConfig myServletConfig;//yong yu guoqu peizhiwenjian xinxi @Override public void init(ServletConfig config) throws ServletException { super.init(config); this.myServletConfig=config; } protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { } protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { String encoding=myServletConfig.getInitParameter("encoding"); System.out.println(encoding); } }
web.xml配置文件:
<servlet> <servlet-name>MyServlet</servlet-name> <servlet-class>MyServlet</servlet-class> <init-param> <param-name>encoding</param-name> <param-value>GBK</param-value> </init-param> </servlet> <servlet-mapping> <servlet-name>MyServlet</servlet-name> <url-pattern>/servletConfig</url-pattern> </servlet-mapping>
输入:
控制台得到:
第二种获取ServletConfig的方式:
因为父类GenericServlet 中已经有这个方法,所以可以直接使用。
public abstract class GenericServlet implements Servlet, ServletConfig, java.io.Serializable { private static final long serialVersionUID = 1L; private transient ServletConfig config; ...
@Override
public String getInitParameter(String name) {
return getServletConfig().getInitParameter(name);
}
...
}
第三种获取ServletConfig的方式:
父类GenericServlet 中已经有getServletConfig方法。其实也是得到config对象后,调用config的getInitParameter方法。
获取servlet配置信息只是ServletConfig的作用之一,还有个重要的作用是获取ServletContext对象。