struts2为什么只拦截.action的请求;而.do的请求拦截不到???

文哥xxx 2013-11-22 01:26:47
struts2为什么只拦截.action的请求;而.do的请求拦截不到???

请求路劲
http://127.0.0.1:8081/ibatisSpringStruts/loginAction.do
结果
HTTP Status 404 - /ibatisSpringStruts/loginAction.do

而我把配置
<filter-mapping>
<filter-name>struts2</filter-name>
<url-pattern>*.do</url-pattern>
</filter-mapping>
改为
<filter-mapping>
<filter-name>struts2</filter-name>
<url-pattern>*.action</url-pattern>
</filter-mapping>
则http://127.0.0.1:8081/ibatisSpringStruts/loginAction.action 可以请求到

下面是相关配置
struts.xml
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE struts PUBLIC
"-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
"http://struts.apache.org/dtds/struts-2.0.dtd">
<struts>
<package name="xxx" extends="struts-default" namespace="/">
<action name="loginAction" class="org.ibatis.userAction">
<result name="success">/index.jsp</result>
<result name="no">/505.jsp</result>
</action>
</package>
</struts>

web.xml
<filter>
<filter-name>struts2</filter-name>
<filter-class>org.apache.struts2.dispatcher.FilterDispatcher</filter-class>
</filter>
<filter-mapping>
<filter-name>struts2</filter-name>
<url-pattern>*.do</url-pattern>
</filter-mapping>
...全文
510 6 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
Dr哒哒 2015-03-26
  • 打赏
  • 举报
回复
4楼正解///
文哥xxx 2013-11-23
  • 打赏
  • 举报
回复
引用 4 楼 duanwu2330323 的回复:
struts.xml文件

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE struts PUBLIC
	"-//Apache Software Foundation//DTD Struts Configuration 2.1.7//EN"
	"http://struts.apache.org/dtds/struts-2.1.7.dtd">
<struts>
	<!-- 修改struts2访问链接的后缀名,改成.do的形式 -->
	<constant name="struts.action.extension" value="do"></constant>
	<!-- 修改struts2的UI主题,改为简单模式 -->
	<constant name="struts.ui.theme" value="simple"></constant>
	<!-- 修改struts2的开发模式,默认是false -->
	<constant name="struts.devMode" value="false"></constant>
	<!-- 修改struts2的字符编码 -->
	<constant name="struts.i18n.encoding" value="utf-8"></constant>
<constant name="struts.action.extension" value="do"></constant>
4楼正解 谢谢
少羽 2013-11-22
  • 打赏
  • 举报
回复
struts.xml文件

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE struts PUBLIC
	"-//Apache Software Foundation//DTD Struts Configuration 2.1.7//EN"
	"http://struts.apache.org/dtds/struts-2.1.7.dtd">
<struts>
	<!-- 修改struts2访问链接的后缀名,改成.do的形式 -->
	<constant name="struts.action.extension" value="do"></constant>
	<!-- 修改struts2的UI主题,改为简单模式 -->
	<constant name="struts.ui.theme" value="simple"></constant>
	<!-- 修改struts2的开发模式,默认是false -->
	<constant name="struts.devMode" value="false"></constant>
	<!-- 修改struts2的字符编码 -->
	<constant name="struts.i18n.encoding" value="utf-8"></constant>
<constant name="struts.action.extension" value="do"></constant>
  • 打赏
  • 举报
回复
看页面是不是加的也是.do,要改都要改完
南猿北蛰 2013-11-22
  • 打赏
  • 举报
回复
引用 1 楼 rui888 的回复:
默认是 拦截不到的。你可以自己配制
正如1楼说的default.properties中的这句 ### Used by the DefaultActionMapper ### You may provide a comma separated list, e.g. struts.action.extension=action,jnlp,do struts.action.extension=action

81,122

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧