Struts2+Spring+Hibernate页面访问异常

再见萤火虫 2010-12-09 02:09:03
我是用一个add.jsp来添加信息,然后跳转到list.jsp显示。

现在add.jsp页面可以正常显示,但是点击submit后就出现错误信息:
HTTP Status 404 - /jwc/stu/list.action

--------------------------------------------------------------------------------

type Status report

message /jwc/stu/list.action

description The requested resource (/jwc/stu/list.action) is not available.


--------------------------------------------------------------------------------

Apache Tomcat/6.0.29

为什么list.action找不到呢?我的struts.xml如下:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE struts PUBLIC
"-//Apache Software Foundation//DTD Struts Configuration 2.1//EN"
"http://jakarta.apache.org/struts/dtds/struts-config_2_1.dtd">

<struts>
<constant name="struts.objectFactory" value="spring" />
<!-- /jwc/stu/add.action -->
<package name="jwc_student" extends="struts-default" namespace="/stu">

<action name="add" class="addBean" method="add">
<result>list.action</result>
</action>
<action name="list" class="listBean" method="list">
<result>/stu/list.jsp</result>
</action>

<action name="delete" class="deleteBean" method="delete">
<result>list.action</result>
</action>

</package>
</struts>

web.xml如下:

<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.5" xmlns="http://java.sun.com/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">

<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>/WEB-INF/applicationContext*.xml</param-value>
</context-param>
<listener>
<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>

<filter>
<filter-name>lazyLoadingFilter</filter-name>
<filter-class>
org.springframework.orm.hibernate3.support.OpenSessionInViewFilter</filter-class>
</filter>

<filter>
<filter-name>struts2</filter-name>
<filter-class>org.apache.struts2.dispatcher.FilterDispatcher</filter-class>
</filter>

<filter-mapping>
<filter-name>lazyLoadingFilter</filter-name>
<url-pattern>*.action</url-pattern>
</filter-mapping>
<filter-mapping>
<filter-name>struts2</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>

<welcome-file-list>
<welcome-file>add.jsp</welcome-file>
</welcome-file-list>
</web-app>

查了两天了都没有解决,刚接触这个好多东西都不太了解,望指点。。。
...全文
87 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
再见萤火虫 2010-12-09
  • 打赏
  • 举报
回复
OK,终于解决了,确实有个jar包冲突了,还有个大小写的问题。。。初学好多东西搞不明白额

谢谢各位了~~
再见萤火虫 2010-12-09
  • 打赏
  • 举报
回复
我就一个项目额。。。jar冲突?具体是什么呢?

add是可以写进数据库的,就是list让他显示的时候就出问题了。。。这两个应该是平行的啊,怎么会一个可以一个有问题呢。。。
JustDoIt_NotLast 2010-12-09
  • 打赏
  • 举报
回复
java.lang.NoSuchMethodException
包无法读取到,重新生成还是这样吗?
UPC_思念 2010-12-09
  • 打赏
  • 举报
回复
java.lang.NoSuchMethodException: com.bit.jwc.action.StudentAction.list()
找不到这个action的方法
有可能是tomcat发布了两个s2sh项目,将其余的项目给删掉
Jlins 2010-12-09
  • 打赏
  • 举报
回复
com.bit.jwc.action.StudentAction.list()

jar冲突吗?
再见萤火虫 2010-12-09
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 wenyeji 的回复:]

struts2在重定向到另一个action时,需要设置type="redirect",如你的:
<action name="add" class="addBean" method="add">
<result>list.action</result>
</action>
应该设置为:
<action name="add" class="addBean" method="add">
<……
[/Quote]

改了之后还是报错:

type Exception report

message

description The server encountered an internal error () that prevented it from fulfilling this request.

exception

java.lang.NoSuchMethodException: com.bit.jwc.action.StudentAction.list()
java.lang.Class.getMethod(Class.java:1605)
org.apache.struts2.interceptor.validation.AnnotationValidationInterceptor.getActionMethod(AnnotationValidationInterceptor.java:75)
org.apache.struts2.interceptor.validation.AnnotationValidationInterceptor.doIntercept(AnnotationValidationInterceptor.java:47)
com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:87)
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:237)
com.opensymphony.xwork2.interceptor.ConversionErrorInterceptor.intercept(ConversionErrorInterceptor.java:122)
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:237)
com.opensymphony.xwork2.interceptor.ParametersInterceptor.doIntercept(ParametersInterceptor.java:195)
com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:87)
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:237)
com.opensymphony.xwork2.interceptor.ParametersInterceptor.doIntercept(ParametersInterceptor.java:195)
com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:87)
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:237)
com.opensymphony.xwork2.interceptor.StaticParametersInterceptor.intercept(StaticParametersInterceptor.java:179)
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:237)
org.apache.struts2.interceptor.MultiselectInterceptor.intercept(MultiselectInterceptor.java:75)
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:237)
org.apache.struts2.interceptor.CheckboxInterceptor.intercept(CheckboxInterceptor.java:94)
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:237)
org.apache.struts2.interceptor.FileUploadInterceptor.intercept(FileUploadInterceptor.java:235)
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:237)
com.opensymphony.xwork2.interceptor.ModelDrivenInterceptor.intercept(ModelDrivenInterceptor.java:89)
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:237)
com.opensymphony.xwork2.interceptor.ScopedModelDrivenInterceptor.intercept(ScopedModelDrivenInterceptor.java:130)
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:237)
org.apache.struts2.interceptor.debugging.DebuggingInterceptor.intercept(DebuggingInterceptor.java:267)
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:237)
com.opensymphony.xwork2.interceptor.ChainingInterceptor.intercept(ChainingInterceptor.java:126)
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:237)
com.opensymphony.xwork2.interceptor.PrepareInterceptor.doIntercept(PrepareInterceptor.java:138)
com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:87)
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:237)
com.opensymphony.xwork2.interceptor.I18nInterceptor.intercept(I18nInterceptor.java:165)
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:237)
org.apache.struts2.interceptor.ServletConfigInterceptor.intercept(ServletConfigInterceptor.java:164)
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:237)
com.opensymphony.xwork2.interceptor.AliasInterceptor.intercept(AliasInterceptor.java:179)
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:237)
com.opensymphony.xwork2.interceptor.ExceptionMappingInterceptor.intercept(ExceptionMappingInterceptor.java:176)
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:237)
org.apache.struts2.impl.StrutsActionProxy.execute(StrutsActionProxy.java:52)
org.apache.struts2.dispatcher.Dispatcher.serviceAction(Dispatcher.java:488)
org.apache.struts2.dispatcher.FilterDispatcher.doFilter(FilterDispatcher.java:395)
org.springframework.orm.hibernate3.support.OpenSessionInViewFilter.doFilterInternal(OpenSessionInViewFilter.java:198)
org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:76)


note The full stack trace of the root cause is available in the Apache Tomcat/6.0.29 logs.


--------------------------------------------------------------------------------

Apache Tomcat/6.0.29

查询数据库信息是写进去了,但是list就是出不来。。。
happyfmy 2010-12-09
  • 打赏
  • 举报
回复
试一下

<result type="chain">list</result> or <result type="chain">list.action</result>
wenyeji 2010-12-09
  • 打赏
  • 举报
回复
struts2在重定向到另一个action时,需要设置type="redirect",如你的:
<action name="add" class="addBean" method="add">
<result>list.action</result>
</action>
应该设置为:
<action name="add" class="addBean" method="add">
<result type="redirect">list.action</result>
</action>

67,513

社区成员

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

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