spring+struts+mybatis框架整合后,测试是否能通过时,一直404,根本没进入action
关于web.xml,struts.xml和spring相关的配置文件都没问题,tomact启动也不报错。
经过三个小时的晚上搜索,终于知道原因:
这是在搜索好多好多资料后,终于发现一篇我没注意的细节说明。
是的,我是新手,我的问题就是这个:
其中我的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>
<!-- 将struts2交给spring管理-->
<constant name="struts.configuration.xml.reload" value="true"></constant>
<constant name="struts.action.extension" value="action,do,webwork"></constant>
<constant name="struts.enable.DynamicMethodInvocation" value="true"></constant>
<constant name="struts.devMode" value="true"></constant>
<constant name="struts.multipart.maxSize" value="100971520"></constant>
<constant name="struts.i18n.encoding" value="UTF-8"></constant>
<constant name="struts.objectFactory.spring.autoWire" value="name"></constant>
<constant name="struts.objectFactory" value="spring"></constant>
<constant name="struts.custom.i18n.resources" value="messages"></constant>
<package name="struts2" extends="struts-default">
<action name="indexShow" class="StoreAction" method="indexShow" >
<result name="success">/WEB-INF/store/tmall.jsp</result>
<result name="error">/error.jsp</result>
</action>
</package>
</struts>
问题就是
<constant name="struts.action.extension" value="action,do,webwork"></constant>这独特的一句,而我访问的url是不加.action,.do等等的。
这里做了限制,必须是带后缀的才能进来。
多么可贵,我找到了原因。