从Tomcat访问servlet的映射?

时间:2010-05-20 16:00:16

标签: java tomcat servlets url-mapping

以下代码访问servlet的名称:servletConfig.getServletName()。 我可以以类似的方式访问servlet的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 个答案:

答案 0 :(得分:4)

在Servlet 3.0(或Java EE 6)规范中存在一些东西:
http://docs.oracle.com/javaee/6/api/javax/servlet/ServletRegistration.html
您可以使用ServletContext.html#getServletRegistration获取ServletRegistration。

答案 1 :(得分:2)

Servlet API中没有任何内容可用。要么自己解析web.xml,要么将其复制为您想要访问它的servlet的<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")使用。