开发者

Web.xml - url pattern mapped twice

A web.xml of ours contains following excerpt..

<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>

I need to unders开发者_StackOverflow社区tand as to how the container maps when an *.htm (say hello.htm ) url is encountered ..what happens when such a request happens.


The second mapping is for a filter, not a servlet.

When a request comes in the servlet container, it is first passed through a chain of any filters, then to the servlet, then back out through the filters in reverse order.

Filters have a slightly different API from servlets: There's a method called doFilter() that gets a ServletRequest and a ServletResponse. It calls the rest of the chain via chain.doFilter with the same parameters; at the end of the filter chain, those parameters are passed to the servlet. So filters are able to change or even substitute the request object coming in, and the response object coming out.

There's a little more info here.

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜