<servlet-name> 在 web.xml 的 <filter-mapping> 中,这是啥意思?

Posted

技术标签:

【中文标题】<servlet-name> 在 web.xml 的 <filter-mapping> 中,这是啥意思?【英文标题】:<servlet-name> inside <filter-mapping> of web.xml, what does this mean?<servlet-name> 在 web.xml 的 <filter-mapping> 中,这是什么意思? 【发布时间】:2012-07-24 14:19:07 【问题描述】:

我开始学习 Struts 2。我偶然发现了这段代码:

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

我的问题在这部分

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

为什么它是一个被映射到&lt;filter-mapping&gt; 标签内的servlet?这种映射意味着什么?另外,&lt;listener&gt; 是做什么的?感谢您的回复。

【问题讨论】:

【参考方案1】:

你试过谷歌吗?

为什么将 servlet 映射到标签内?这种是什么 映射暗示?

阅读:http://docs.oracle.com/cd/E13222_01/wls/docs81/webapp/web_xml.html#1039330

&lt;listener&gt; 是做什么的?

http://docs.oracle.com/cd/E13222_01/wls/docs81/webapp/web_xml.html#1039300

例如:http://tomcat-configure.blogspot.in/2009/01/tomcat-context-listener-example.html

【讨论】:

我尝试了谷歌搜索,但我发现很难在搜索框中定义我的问题。不断返回不回答我的问题的文章。那篇文章回答了我的问题。非常感谢! @Bnrdo:很高兴听到这个消息。欢迎你来

以上是关于<servlet-name> 在 web.xml 的 <filter-mapping> 中,这是啥意思?的主要内容,如果未能解决你的问题,请参考以下文章

web.xml中出现<servlet-name>default</servlet-name>是啥意思

<servlet-name> 在 web.xml 的 <filter-mapping> 中,这是啥意思?

JSP_映射

servlet随笔

java.lang.IllegalArgumentException:过滤器映射必须指定 <url-pattern> 或 <servlet-name>

<servlet-name>,<servlet-class>,<servlet-mapping>,<url-pattern>,这些各表示啥,请详细说明,