以下代码访问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>
答案 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")
使用。