HTTP Status 404 - /LoginSystem/user/UserLogin配置文件没错呀

92浩 2015-04-27 10:12:55
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>
<constant name="struts.enable.DynamicMethodInvocation" value="false" />
<constant name="struts.devMode" value="true" />
<!-- Add packages here-->
<!-- 包名写错?:以前写成了com.web -->
<package name="com.action" extends="struts-default">
<interceptors>
<interceptor name="Authentication" class="com.action.interceptor.AuthenticationInterceptor" />
<interceptor-stack name="NoticeAuthenticationStack">
<interceptor-ref name="createSession" />
<interceptor-ref name="exception"/>
<interceptor-ref name="alias"/>
<interceptor-ref name="servlet-config"/>
<interceptor-ref name="prepare"/>
<interceptor-ref name="i18n"/>
<interceptor-ref name="chain"/>
<interceptor-ref name="debugging"/>
<interceptor-ref name="model-driven"/>
<interceptor-ref name="fileUpload"/>
<interceptor-ref name="static-params"/>
<interceptor-ref name="params"/>
<interceptor-ref name="conversionError"/>
<interceptor-ref name="validation">
<param name="excludeMethods">input,back,cancel,browse</param>
</interceptor-ref>
<interceptor-ref name="workflow">
<param name="excludeMethods">input,back,cancel,browse</param>
</interceptor-ref>
<interceptor-ref name="Authentication" />
</interceptor-stack>
</interceptors>
<!-- 管理员登录 -->
<action name="AdminLogin" class="com.action.admin.AdminLoginAction">
<result name="success" type="redirect">/admin/Userlist.action</result>
<result name="input">/admin/adminlogin.jsp</result>
</action>

<action name="AdminLogout" class="com.action.admin.AdminLogoutAction">
<result name="input">/admin/adminlogin.jsp</result>
</action>

<!-- 使用*通配符方式匹配save,list,edit方法 -->
<action name="User*" class="com.action.admin.UserManagerAction" method="{1}">
<result name="success" type="redirect">/admin/Userlist.action</result>
<result name="list">/admin/userlist.jsp</result>
<result name="edit">/admin/useredit.jsp</result>
</action>

<!-- 使用*通配符方式匹配save,edit方法 -->
<action name="Notice*" class="com.action.user.NoticeManagerAction" method="{1}">
<interceptor-ref name="NoticeAuthenticationStack"/>
<result name="add">/user/newnotice.jsp</result>
<result name="success" type="redirect">/user/NoticeList.action</result>
<result name="edit">/user/noticemodify.jsp</result>
<result name="input">/user/userlogin.jsp</result>
</action>

<!-- 由于用户可以随意浏览公告所以list页不需要配拦截器 -->
<action name="NoticeList" class="com.action.user.NoticeManagerAction" method="list">
<result name="list">/user/noticelist.jsp</result>
</action>

<action name="UserLogin" class="com.action.user.UserLoginAction">
<result name="success" type="redirect">/user/NoticeList.action</result>
<result name="input">/user/userlogin.jsp</result>
</action>

<action name="UserLogout" class="com.action.user.UserLogoutAction">
<result name="input">/user/userlogin.jsp</result>
</action>

<!--如果我们没有给action元素指定class属性的话,框架会默认它的class属性为com.opensymphony.xwork.ActionSupport,如果想指定别的类作为默认的Action类,可以通过package的default-action-ref属性来设置。在设置了default-action-ref之后,如果我们在package中没有匹配到所请求的action,那么这个默认的action就会被调用。一般一个命名空间下最好只定义一个默认的action。 -->

</package>
</struts>


userlogin.jsp
<%@ page contentType="text/html;charset=UTF-8" language="java"%>
<%@ include file="/common/taglibs.jsp"%>
<head>
<title>
用户登录
</title>
</head>
<link href="images/myStyleClass.css" rel="stylesheet" type="text/css">
<body>
<%@ include file="/common/header.jsp"%>
<s:form action="UserLogin"> <!-- 提交给action处理:以前是这个 -->
<center>
<table border="0" cellspacing="2" cellpadding="2" width="22%">
<tr>
<s:actionerror />
</tr>
<tr>
<td width="60%">
<s:textfield name="username" label="用户"/>
</td>
</tr>
<tr>
<td width="60%">
<s:password name="password" label="密码"/>
</td>
</tr>
<tr>
<td colspan="2" >
<s:submit name="submit" align="center" value="登录" theme="simple"></s:submit>
<s:reset align="center" value="重置" theme="simple"></s:reset>
</td>
</tr>
</table>
</center>
</s:form>
<%@ include file="/common/footer.jsp"%>
</body>

...全文
165 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
你的UserLoginAction拿出来看看
92浩 2015-04-27
  • 打赏
  • 举报
回复
打开http://localhost:8080/LoginSystem/user/UserLogin.action这个链接 异常提示: HTTP Status 500 - -------------------------------------------------------------------------------- type Exception report message description The server encountered an internal error () that prevented it from fulfilling this request. exception There is no Action mapped for action name UserLogin. - [unknown location] com.opensymphony.xwork2.DefaultActionProxy.prepare(DefaultActionProxy.java:186) org.apache.struts2.impl.StrutsActionProxyFactory.createActionProxy(StrutsActionProxyFactory.java:41) org.apache.struts2.dispatcher.Dispatcher.serviceAction(Dispatcher.java:494) org.apache.struts2.dispatcher.FilterDispatcher.doFilter(FilterDispatcher.java:419) note The full stack trace of the root cause is available in the Apache Tomcat/6.0.35 logs.

67,513

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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