JavaWeb-ServletConfig获取与使用
当Servlet容器初始化Servlet时,Servlet容器会给Servlet的init方法传入一个ServletConfig,因此每一个Servlet对象对应一个ServletConfig独享
我们需要做的就是利用ServletConfig
对象来获取里面的信息。
import javax.servlet.*;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
@WebServlet(value = "/servletDemo",,initParams = {@WebInitParam(name = "encoding",value = "utf-8")})
public class ServletDemo extends HttpServlet {
private ServletConfig servletConfig;
@Override
public void init(ServletConfig servletConfig) throws ServletException {
this.servletConfig = servletConfig;
}
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
//1.通过getServletConfig()方法来获取
ServletConfig servletConfig = getServletConfig();
System.out.println(servletConfig.getServletName());
System.out.println(servletConfig.getInitParameter("encoding"));
//2直接使用init方法那里赋值的私有对象
System.out.println(this.servletConfig.getInitParameter("encoding"));
//3.不通过获取ServletConfig对象的方式,直接使用GenericServlet的getInitParameter方法
System.out.println(getInitParameter("encoding"));
}
}
接下来开启服务器,访问:http://localhost:8080/servletDemo
上面是用的注解配置的初始化参数,当然也可以用web.xml配置路径来获取初始化参数,这里就留给读者自己学习吧。