【发布时间】:2014-07-05 02:31:07
【问题描述】:
我们通常会在 web.xml 中为 servlet 中的任何过滤器编写 <url-pattern>/*</url-pattern>。
<filter-mapping>
<filter-name>requestRedirectorFilter</filter-name>
<url-pattern>/action</url-pattern>
</filter-mapping>`.
现在我的疑问是 java 如何识别下一个 servlet/jsp 是什么?因为我们通过
提出的任何请求request.getRequestDispatcher("/ABCXYZ").forward(request, (HttpServletResponse)servletResponse);
要导航到下一个 servlet/jsp,容器默认会在 web.xml 中搜索。在 web.xml <url-pattern>/*</url-pattern> 中已经存在我们使用的过滤器。正是在这里,实际问题开始了。
如果<url-pattern>/*</url-pattern> [它就像任何请求的通用接收器] 已经存在于 web.xml 中,那么该容器如何知道跟随 <url-pattern>/ABCXYZ</url-pattern> 而不是 <url-pattern>/*</url-pattern> ?请在这方面分享您的观点和知识。
【问题讨论】:
标签: java jsp servlet-filters