从 servlet-name 获取 url-pattern

Get url-pattern from servlet-name

我的 Java EE Web 应用程序的 web.xml 文件中有此配置:

<servlet-mapping>
   <servlet-name>ChangeLanguageServlet</servlet-name>
   <url-pattern>/change</url-pattern>
</servlet-mapping>

我想做的是使用 servlet 名称获取 "url-pattern" 的字符串,类似于这样(伪代码):

// This would return "/change"
String pattern = getPatternByServletName("ChangeLanguageServlet"); 

我不知道该怎么做。

有什么帮助吗?

谢谢!

ServletContext 你可以得到一个 Map 键控的 servlet 名称以及在应用程序中注册的所有 servlet:

Map<String, ? extends ServletRegistration> registrations = 
        servletContext.getServletRegistrations();

然后使用ServletRegistration API提取你需要的元数据,包括: