初识ServletConfig(概念,生命周期),ServletConfig的配置方式以及常用方法
ServletConfig基本概念ServletConfig 是 Servlet 的配置参数对象,在 Servlet 的规范中,允许为每一个 Servlet 都提供一些初始化的配置。所以,每个 Servlet 都有一个自己的 ServletConfig作用:在 Servlet 的初始化时,把一些配置信息传递给 Servlet生命周期生命周期:和 Servlet 相同由于它是在初始化阶段读取了web
·
ServletConfig基本概念
- ServletConfig 是 Servlet 的配置参数对象,在 Servlet 的规范中,允许为每一个 Servlet 都提供一些初始化的配置。所以,每个 Servlet 都有一个自己的 ServletConfig
- 作用:在 Servlet 的初始化时,把一些配置信息传递给 Servlet
生命周期
-
生命周期:和 Servlet 相同
-
由于它是在初始化阶段读取了web.xml中为Servlet准备的初始化配置,并把配置信息传递给Servlet,所以生命周期与Servlet相同
-
这里需要注意的是,如果Servlet配置了
<load-on-startup>1</load-on-startup>
,那么ServletConfig也会在应用加载时创建 -
ServletConfig的配置信息都是键值对的形式
ServletConfig的配置方式
-
在
<servlet>
标签中,通过<init-param>
标签来配置。有两个子标签。 -
<param-name>
:代表初始化参数的 key。 -
<param-value>
:代表初始化参数的 value。- 一个init-param配置一个信息,一个信息由name和value组成
-
案例
package com.lichee.servlet; import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import java.io.IOException; public class ServletConfigDemo extends HttpServlet { @Override protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { } @Override protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { doGet(req,resp); } }
配置Servlet
<!--配置Servlet--> <servlet> <servlet-name>servletConfigDemo</servlet-name> <servlet-class>com.lichee.servlet.ServletConfigDemo</servlet-class> <!--配置ServletConfig初始化参数--> <init-param> <!--用于获取初始化参数的key--> <param-name>encoding</param-name> <!--初始化参数的值--> <param-value>UTF-8</param-value> </init-param> <init-param> <param-name>desc</param-name> <param-value>This is ServletConfig</param-value> </init-param> </servlet> <servlet-mapping> <servlet-name>servletConfigDemo</servlet-name> <url-pattern>/servletConfigDemo</url-pattern> </servlet-mapping>
ServletConfig的常用方法
-
常用方法:
返回值 方法名 说明 String getInitParameter(String name) 根据参数名称获取参数的值 ServletContext getServletContext() 获取ServletContext对象 -
代码展示:
public class ServletConfigDemo extends HttpServlet { //声明ServletConfig配置对象 private ServletConfig config; //通过init方法来为ServletConfig配置对象赋值 @Override public void init(ServletConfig config) throws ServletException { this.config = config; } @Override protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { //根据key获取value String encodingValue = config.getInitParameter("encoding"); System.out.println(encodingValue); //获取ServletContext对象 ServletContext context = config.getServletContext(); System.out.println(context); } @Override protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { doGet(req,resp); } }
更多推荐
所有评论(0)