Java Servlet: getInitParameter not work in Service()

Posted by Gabriele on Stack Overflow See other posts from Stack Overflow or by Gabriele
Published on 2010-06-14T11:34:45Z Indexed on 2010/06/14 12:32 UTC
Read the original article Hit count: 248

Filed under:
|

I've added some parameters in my web.xml config file, as follow:

  <context-param>
    <param-name>service1</param-name>
    <param-value>http://www.example.com/example2.html</param-value>
  </context-param>
  <context-param>
    <param-name>service2</param-name>
    <param-value>http://www.example.com/example2.html</param-value>
  </context-param>
  ...

I try to get the parameter in my servlet, in particular in my service method:

protected void service(HttpServletRequest request, HttpServletResponse response) 
throws ServletException, IOException {
    System.out.println(this.getServletContext().getInitParameter("service1"));
    ...

but at runtime I have a NullPointerException... How can I get the parameter value included in web.xml?

This is the stacktrace:

GRAVE: Servlet.service() for servlet DispatcherServlet threw exception
java.lang.NullPointerException
    at javax.servlet.GenericServlet.getServletContext(GenericServlet.java:160)
    at it.servlethope.DispatcherServlet.service(DispatcherServlet.java:66)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
    at org.tuckey.web.filters.urlrewrite.RuleChain.handleRewrite(RuleChain.java:176)
    at org.tuckey.web.filters.urlrewrite.RuleChain.doRules(RuleChain.java:145)
    at org.tuckey.web.filters.urlrewrite.UrlRewriter.processRequest(UrlRewriter.java:92)
    at org.tuckey.web.filters.urlrewrite.UrlRewriteFilter.doFilter(UrlRewriteFilter.java:381)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
    at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
    at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
    at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
    at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
    at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
    at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:298)
    at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:852)
    at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:588)
    at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489)
    at java.lang.Thread.run(Unknown Source)

DispatcherServlet.java:66 is the line where I try the getInitParameter()

© Stack Overflow or respective owner

Related posts about java

Related posts about servlets