问题描述
struts.xml的代码,struts.xml也是在src目录下的:<?xmlversion="1.0"encoding="UTF-8"?><!DOCTYPEstrutsPUBLIC"-//ApacheSoftwareFoundation//DTDStrutsConfiguration2.1.7//EN""http://struts.apache.org/dtds/struts-2.1.7.dtd"><struts><packagename="login"namespace="/login"extends="struts-default"><actionname="login"class="action.LoginAction"><resultname="ok">/jsp/common/index2.jsp</result><resultname="fail">/jsp/common/login.jsp</result></action></package></struts>jsp的代码:<formaction="login"method="post"><tablecellpadding="0"cellspacing="0"border="0"class="form_table"><tr><tdvalign="middle"align="right">用户名:</td><tdvalign="middle"align="left"><inputtype="text"class="inputgri"name="name"value="<s:propertyvalue='username'/>"/></td></tr><tr><tdvalign="middle"align="right">密码:</td><tdvalign="middle"align="left"><inputtype="password"class="inputgri"name="pwd"value="<s:propertyvalue='password'/>"/></td></tr></table><p><inputtype="submit"class="button"value="登陆»"/><inputtype="button"class="button"value="注册»"/></p></form>Action的部分代码:publicclassLoginActionextendsBaseAction{//输入privateUseruser;//输出privateStringerrorMsg;publicStringexecute(){ILoginDaodao=DaoFactory.getLoginDao();Useru=null;大神们帮小弟看看,报HTTPStatus404-ThereisnoActionmappedforactionnamelogin.这个错误。
解决方案
解决方案二:
你配置的名称为login的action是在名称为login的package中的,而你将package的namespace设置为"/login",所以访问这个loginaction的正确url应该为/login/login将jsp页面中form元素的action属性设置为/login/login应该即可
解决方案三:
action="login/login"
解决方案四:
引用1楼u010005508的回复:
你配置的名称为login的action是在名称为login的package中的,而你将package的namespace设置为"/login",所以访问这个loginaction的正确url应该为/login/login将jsp页面中form元素的action属性设置为/login/login应该即可
正解
解决方案五:
<packagename="login"namespace="/login"extends="struts-default"><actionname="login"class="action.LoginAction">这样不对吧,namespace:定义package命名空间该命名空间影响到url的地址,例如此命名空间为/login那么访问是的地址为http://localhost:8080/struts2/login/XX.action;而package中的name表示比如此action对应的包所在的包名;action中的name表示请求的action名称,class表示所在类
解决方案六:
引用1楼u010005508的回复:
你配置的名称为login的action是在名称为login的package中的,而你将package的namespace设置为"/login",所以访问这个loginaction的正确url应该为/login/login将jsp页面中form元素的action属性设置为/login/login应该即可
+1