Struts2 如何在筛选器中创建url映射?

Struts2 如何在筛选器中创建url映射?,struts2,struts,Struts2,Struts,我在这里已经有一个未回答的问题,即当我们使用servlet时,如何以及何时在任何url中追加.do 今天当我了解过滤器时,另一个疑问出现了: <filter-mapping> <filter-name>struts2</filter-name> <url-pattern>/*</url-pattern> </filter-mapping> 支柱2 /* 在这种情况下,如果它意味着

我在这里已经有一个未回答的问题,即当我们使用servlet时,如何以及何时在任何url中追加.do

今天当我了解过滤器时,另一个疑问出现了:

<filter-mapping>
        <filter-name>struts2</filter-name>
        <url-pattern>/*</url-pattern>
    </filter-mapping>

支柱2
/*

在这种情况下,如果它意味着将检查所有请求,那么什么是/*?此外,当调用某个操作时,
url会显示:http://..../myapp/register.action.
.do
类似,添加了
.action
,在映射中甚至没有提到它。请清除此疑问,如果可能的话,
.do
也要怀疑…

在struts core jar中查找struts-default.properties,您可以在那里找到这些设置

您可以提供逗号分隔的列表

e、 g.
struts.action.extension=action,jnlp,do

   struts.action.extension=action (default setting)

让我们试着一个接一个地澄清您的疑问

<filter-mapping>
        <filter-name>struts2</filter-name>
        <url-pattern>/*</url-pattern>
</filter-mapping>
上述所有请求都将通过过滤器,现在一旦通过过滤器,S2将在内部检查哪个URL是有效的S2 URL 例如,如果您已将扩展名设置为
。action
S2将仅识别具有这些扩展名的URL,并将处理这些扩展名,而filter将处理所有扩展名


希望这将帮助您消除疑虑

在哪里可以找到此文件?struts-core.jar?是的,它检查所有请求。映射与URL生成无关。S2标记生成完整的URL。
yourapplication-domian/abc.action
yourapplication-domian/abc.do
yourapplication-domian/abc.jsp