<servlet-name> inside <filter-mapping> of web.xml, what does this mean?

Viewed 30355

I am starting to learn Struts 2. I stumbled upon this code:

web.xml

...some other codes...

<filter>
    <filter-name>MyFilter</filter-name>
    <display-name>MyFilter</display-name>
    <filter-class>com.xxx.yyy.zzz.MyFilter</filter-class>
</filter>

<filter-mapping>
   <filter-name>MyFilter</filter-name>
   <servlet-name>MyAction</servlet-name>
</filter-mapping>

<listener>
   <listener-class>com.xxx.yyy.StrutsListener</listener-class>
</listener> 

<servlet>
    <servlet-name>MyAction</servlet-name>
    <servlet-class>org.apache.struts.action.ActionServlet</servlet-class>
    <init-param>
        <param-name>paramName1param-name>
        <param-value>paramVal1</param-value>
    </init-param>
    <init-param>
        <param-name>paramName2</param-name>
        <param-value>paramVal2</param-value>
    </init-param>
    <load-on-startup>1</load-on-startup>
</servlet>

...some other codes...

My question is in this part

 <filter-mapping>
      <filter-name>MyFilter</filter-name>
      <servlet-name>MyAction</servlet-name>
 </filter-mapping>


Why is it a servlet being mapped inside a <filter-mapping> tag? What does this kind of mapping imply? Also, what does <listener> do? Thanks for the replies.

1 Answers
Related