struts.xml配置路径问题
index.jsp
<form action="login.do" method="post">
<input type="submit" value="提交"/>
</form>
web.xml
<filter>
<filter-name>struts2</filter-name>
<filter-class>org.apache.struts2.dispatcher.FilterDispatcher</filter-class>
<init-param>
<param-name>config</param-name>
<param-value>struts-default.xml,struts-plugin.xml,/WEB-INF/struts.xml</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>struts2</filter-name>
<url-pattern>*.do</url-pattern>
</filter-mapping>
<welcome-file-list>
<welcome-file>index.jsp</welcome-file>
</welcome-file-list>
struts.xml
<package name="defaultaction" extends="struts-default">
<action name="login" class="com.zpyt.actions.LoginAction">
<result name="success" type="dispatcher">/success.jsp</result>
<result name="fail" type="dispatcher">/error.jsp</result>
</action>
</package>
action
public String execute()throws Exception{
System.out.println("找到累了");
return "success";
}
404异常
type Status report
message /LoginPro/login.do
description The requested resource (/LoginPro/login.do) is not available.
找的我实在是累了一直报这个异常,到底是struts那里配置错了啊主要是点击index里面的提交按钮的时候总是404.
[解决办法]
web.xml
<filter> <filter-name>struts</filter-name> <filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class> </filter> <filter-mapping> <filter-name>struts</filter-name> <url-pattern>/*</url-pattern> </filter-mapping>
[解决办法]
如楼上所说,可能struts2对这个*.do特排斥一样的,我上次也配成*.do就一直报错,连启动都报错。
你换成<url-pattern>/*</url-pattern>,或许就不会出现这个错误了。
然后form的提交里面写成login.action或者login都行。
[解决办法]
struts2的配置跟struts1的配置有很大的不同
第一struts2默认是以*.action为后缀的,而且你在web.xml中路径最好配置成/*,你要修改后缀名要在struts.xml中添加一行<constant name="struts.action.extension" value="do" />
第二,若有多个配置文件,只要在struts.xml中这样引用 <include file="struts-default.xml" />
即可
[解决办法]
web.xml
<filter-mapping>
<filter-name>struts2</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
[解决办法]
struts.xml放在src下面,
struts.xml
<package name="defaultaction" extends="struts-default"> <action name="login" class="com.zpyt.actions.LoginAction"><result name="success" type="dispatcher">/success.jsp</result><result name="error" type="dispatcher">/error.jsp</result> </action></package>
[解决办法]
org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter写这个看看