gpt4 book ai didi

java - Web.xml - url 模式映射两次

转载 作者:行者123 更新时间:2023-12-01 16:03:25 25 4
gpt4 key购买 nike

我们的 web.xml 包含以下摘录..

<servlet>
<servlet-name>testServlet</servlet-name>
<servlet-class>
org.springframework.web.servlet.DispatcherServlet
</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>

<servlet-mapping>
<servlet-name>testServlet</servlet-name>
<url-pattern>*.htm</url-pattern>
</servlet-mapping>

<filter>
<filter-name>anotherServlet</filter-name>
<filter-class>com.test.anotherServlet</filter-class>
</filter>
<filter-mapping>
<filter-name>anotherServlet</filter-name>
<url-pattern>*.htm</url-pattern>
</filter-mapping>

我需要了解当遇到 *.htm (say hello.htm ) url 时容器如何映射..当发生这样的请求时会发生什么。

最佳答案

第二个映射用于过滤器,而不是 servlet。

当请求进入 servlet 容器时,它首先通过一系列过滤器,然后传递到 servlet,然后以相反的顺序通过过滤器返回。

过滤器的 API 与 servlet 略有不同:有一个名为 doFilter() 的方法,它获取 ServletRequestServletResponse。它通过 chain.doFilter 使用相同的参数调用链的其余部分;在过滤器链的末尾,这些参数被传递到 servlet。因此过滤器能够更改甚至替换传入的请求对象和传出的响应对象。

还有更多信息 here .

关于java - Web.xml - url 模式映射两次,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3227437/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com