Доступ к отображению сервлета из Tomcat? - PullRequest
0 голосов
/ 20 мая 2010

Следующий код обращается к имени сервлета: servletConfig.getServletName(). Могу ли я получить доступ к шаблону URL сервлета аналогичным образом?

Выдержка из web.xml:

<servlet-mapping>
  <servlet-name>This is the servlet's name</servlet-name>
  <url-pattern>/this-is-its-url-pattern/*</url-pattern>
</servlet-mapping>

Ответы [ 2 ]

4 голосов
/ 21 декабря 2011

В Servlet 3.0 (или Java EE 6) спецификация существует:http://docs.oracle.com/javaee/6/api/javax/servlet/ServletRegistration.htmlВы можете получить ServletRegistration, используя ServletContext.html # getServletRegistration .

2 голосов
/ 20 мая 2010

Ничего не доступно в Servlet API. Либо проанализируйте web.xml самостоятельно, либо продублируйте его как <init-param> сервлета, для которого вы хотите получить к нему доступ.

<servlet>
    <servlet-name>servlet</servlet-name>
    <servlet-class>com.example.Servlet</servlet-class>
    <init-param>
        <param-name>url-pattern</param-name>
        <param-value>/servlet</param-value>
    </init-param>
</servlet>
<servlet-mapping>
    <servlet-name>servlet</servlet-name>
    <url-pattern>/servlet</url-pattern>
</servlet-mapping>

Таким образом, он доступен по servletConfig.getInitParameter("url-pattern").

...