我正在使用WebServlet
注释,如下所示:
@WebServlet( urlPatterns = {"/en", "/de", "/fr"})
public class GeoServlet {
// servlet code goes here
}
正如您所看到的,我需要在网址中定义每个地理位置,但我想说的是allow all patterns from a-z but limit the pattern by two chars
例如:
@WebServlet( urlPatterns = {"/[a-z]"}{2} )
我怎样才能做到这一点? TNX。
答案 0 :(得分:2)
不,没有办法做到这一点。 Servlet Specification定义了映射的语法
在Web应用程序部署描述符中,使用以下语法 用于定义映射:
- 以
‘/’
字符开头并以‘/*’
后缀结尾的字符串用于路径映射。- 以
‘*.’
前缀开头的字符串用作扩展名映射。- 空字符串(
""
)是一种特殊的URL模式,它完全映射到应用程序的上下文根,即表单的请求http://host:port/<contextroot>/
。在这种情况下,路径信息为’/’
和 servlet路径和上下文路径为空字符串(““
)。- 仅包含
’/’
字符的字符串表示&#34;默认&#34;应用程序的servlet。在这种情况下,servlet路径是 请求URI减去上下文路径,路径信息为空。- 所有其他字符串仅用于完全匹配。
它不识别正则表达式。
考虑使用内部有自己映射的Front Controller。