我想将Servlet
映射到以/
结尾的网址,例如/user/register/
,/user/login/
,但不是该路径下的任何其他资源,而不是{{1} }。
我尝试了/*
,但它不起作用。
答案 0 :(得分:1)
我可能错了,但我不确定这是可能的。通配符*仅用于url模式的末尾:
# this is a valid pattern to match anything after root:
*/
# this does not match anything because nothing can come after *
/*/
# this would match anything after the . that was htm
*.htm
答案 1 :(得分:1)
在Filter
上映射/*
并让它确定是否需要通过servlet传递请求。
if (request.getRequestURI().endsWith("/")) {
request.getRequestDispatcher("/servleturl").forward(request, response);
} else {
chain.doFilter(request, response);
}
这样您就可以在Servlet
上映射所需的/servleturl
。
答案 2 :(得分:0)
welcome-file-list正是您要找的。 在welcome-file-list下,您可以指定welcome-files列表(每个文件都在自己的welcome-file标签下)。当请求URL以/结尾时,应用程序会在URL指向的文件夹下查找您在welcome-file-list中提到的那些文件之一(按照您猜测的顺序),以及为这种资源服务。