struts2 命名空间错误的问题
大家好,我在学习<struts2权威指南>,途中遇到一个问题:就是namespace不对!
情况:
1,很多人说,jsp页面放在根目录不好,放在WEB-INF更加安全,所以我先在web.xml中,设置应用默认跳转到index.jsp。
2,从index.jsp跳转到WEB-INF/jsp下面的登录界面:
<jsp:forward page="WEB-INF/jsp/login.jsp"/>
3,登录界面的请求表单:
<s:form id="loginForm" action ="loginAction">
<s:textfield name ="username" label="用户名"/>
<s:password name ="password" label ="密码"/>
<s:textfield name ="vercode" label ="验证码"/>
<s:submit value ="登陆"/>
<input type ="button" onclick ="jumpRegist();" value ="注册"/>
</s:form>
4,struts.xml的配置:
<package name="dg" extends="struts-default" >
<action name ="loginAction" class ="action.LoginAction" >
<result name ="input">WEB-INF/jsp/login.jsp</result>
<result name ="failure">WEB-INF/jsp/error.jsp</result>
</action>
</package>
5,结果就是,发布在tomcat上,有时候不能运行,提示错误:HTTP Status 404 – /loginregist/WEB-INF/jsp/loginAction.action
有时候可以运行,但是有警告:
警告:
No configuration found for the specified action: ‘loginAction.action’ in namespace: ‘/WEB-INF/page’. Form action defaulting to ‘action’ attribute’s literal value.
这个警告是说:namepace配置不对,可是我在package里面都没有配置namespace啊,默认就是“”的,怎么会出错呢?
是这样
<struts>
<!-- 开发模式,每次更改配置或者代码后,不用重启服务器 -->
<constant name="struts.devMode" value="true" />
<!-- 允许struts动态请求,只是调用struts里面的某个方法 -->
<constant name = "struts.enable.DynamicMethodInvocation" va