在servlet上下文侦听器中获取servlet init params

Dau*_*ali 4 servlets init-parameters servletcontextlistener

 <listener>
    <listener-class>config</listener-class>
</listener> 
  <servlet>
<servlet-name>ProcessReg</servlet-name>
<servlet-class>ProcessReg</servlet-class>
<init-param>
    <param-name>text</param-name>
    <param-value>HelloWorld1</param-value>
</init-param>
Run Code Online (Sandbox Code Playgroud)

public class config implements ServletContextListener {



@Override
public void contextInitialized(ServletContextEvent event) {
    ServletContext servletContext = event.getServletContext();
    String text1 = servletContext.getInitParameter("text");
Run Code Online (Sandbox Code Playgroud)

在方法中 contextInitialized(ServletContextEvent event),如果有两个servlet,例如,让我们说第二个servlet的名称是,Servlet2并且它可以说已经init - param调用text了值HelloWorld2.

怎么listener 知道服用ProcessRegservlet?

如何paramServlet2

Rob*_*sen 6

您需要区分servlet初始化参数和上下文初始化参数.

上下文初始化参数是:

  • 上下文宽;
  • 在根目录<context-param>下的元素中声明<web-app>;
  • 通常使用该ServletContext.getInitParameter()方法访问,例如从侦听器的contextInitialized()方法内部访问.

Servlet初始化参数是:

  • servlet的专用;
  • <init-param>元素内的<servlet>元素中声明;
  • 通常使用该ServletConfig.getInitParameter()方法访问,例如从servlet的init()方法内部访问.