Java Servlet 入门: 问题系列:Filter request.getRequestDispatcher(url).forward(...,...)映射请求后404。

2年前 (2022) 程序员胖胖胖虎阿
171 0 0

问题:

在进行代码编码路由映射时,发现映射后的请求总是404。

Java Servlet 入门: 问题系列:Filter request.getRequestDispatcher(url).forward(...,...)映射请求后404。

解决:

这问题卡了我一小时,经过研究后发现,是通过映射后的请求,默认不再经过过滤器导致的。

网上找到的解决方法是配置Xml:

<filter-mapping>
  <filter-name>myfilter</filter-name>
  <url-pattern>/mypath/*</url-pattern>
  <dispatcher>FORWARD</dispatcher>
  <dispatcher>REQUEST</dispatcher>
</filter-mapping>

而我不想要配置,经过思考和研究,这东西应该和注解是对应的:

于是,解决方法变成注解的方式:

@WebFilter(value="*",dispatcherTypes={DispatcherType.REQUEST,DispatcherType.FORWARD} )

这样处理后,映射后的请求可以再次被过滤器触发。

相关文章

暂无评论

暂无评论...