struts2+Hibernate+spring整合问题(异常

问题描述

异常信息:exceptionUnable to instantiate Action, loginAction, defined for 'loginAction' in namespace '/'loginActioncom.opensymphony.xwork2.DefaultActionInvocation.createAction(DefaultActionInvocation.java:318)com.opensymphony.xwork2.DefaultActionInvocation.init(DefaultActionInvocation.java:399)com.opensymphony.xwork2.DefaultActionProxy.prepare(DefaultActionProxy.java:198)org.apache.struts2.impl.StrutsActionProxy.prepare(StrutsActionProxy.java:61)org.apache.struts2.impl.StrutsActionProxyFactory.createActionProxy(StrutsActionProxyFactory.java:39)com.opensymphony.xwork2.DefaultActionProxyFactory.createActionProxy(DefaultActionProxyFactory.java:58)org.apache.struts2.dispatcher.Dispatcher.serviceAction(Dispatcher.java:475)org.apache.struts2.dispatcher.ng.ExecuteOperations.executeAction(ExecuteOperations.java:77)org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter.doFilter(StrutsPrepareAndExecuteFilter.java:91)root causejava.lang.ClassNotFoundException: loginActionorg.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1680)org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1526)com.opensymphony.xwork2.util.ClassLoaderUtil.loadClass(ClassLoaderUtil.java:157)com.opensymphony.xwork2.ObjectFactory.getClassInstance(ObjectFactory.java:107)com.opensymphony.xwork2.spring.SpringObjectFactory.getClassInstance(SpringObjectFactory.java:223)com.opensymphony.xwork2.spring.SpringObjectFactory.buildBean(SpringObjectFactory.java:143)com.opensymphony.xwork2.ObjectFactory.buildBean(ObjectFactory.java:150)com.opensymphony.xwork2.ObjectFactory.buildAction(ObjectFactory.java:120)com.opensymphony.xwork2.DefaultActionInvocation.createAction(DefaultActionInvocation.java:299)com.opensymphony.xwork2.DefaultActionInvocation.init(DefaultActionInvocation.java:399)com.opensymphony.xwork2.DefaultActionProxy.prepare(DefaultActionProxy.java:198)org.apache.struts2.impl.StrutsActionProxy.prepare(StrutsActionProxy.java:61)org.apache.struts2.impl.StrutsActionProxyFactory.createActionProxy(StrutsActionProxyFactory.java:39)com.opensymphony.xwork2.DefaultActionProxyFactory.createActionProxy(DefaultActionProxyFactory.java:58)org.apache.struts2.dispatcher.Dispatcher.serviceAction(Dispatcher.java:475)org.apache.struts2.dispatcher.ng.ExecuteOperations.executeAction(ExecuteOperations.java:77)org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter.doFilter(StrutsPrepareAndExecuteFilter.java:91)导入的jar文件: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"> <welcome-file-list> <welcome-file>index.jsp</welcome-file> </welcome-file-list> <context-param><param-name>contextConfigLocation</param-name><param-value>/WEB-INF/applicationContext-*.xml,classpath*:applicationContext-*.xml</param-value></context-param> <listener> <listener-class> org.springframework.web.context.ContextLoaderListener </listener-class> </listener> <filter> <filter-name>struts2</filter-name> <filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class> </filter> <filter-mapping> <filter-name>struts2</filter-name> <url-pattern>/*</url-pattern> </filter-mapping> </web-app>applicationContext.xml:<?xml version="1.0" encoding="UTF-8"?><beansxmlns="http://www.springframework.org/schema/beans"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xmlns:p="http://www.springframework.org/schema/p"xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.0.xsd"><bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource"><property name="driverClassName" value="com.mysql.jdbc.Driver"></property><property name="url" value="jdbc:mysql://localhost:3306/test"></property><property name="username" value="root"></property><property name="password" value=""></property><property name="maxActive" value="100"></property><property name="maxIdle" value="30"></property><property name="maxWait" value="500"></property><property name="defaultAutoCommit" value="true"></property></bean><bean id="sessionFactory" class="org.springframework.orm.hibernate3.LocalSessionFactoryBean"><property name="dataSource"><ref bean="dataSource" /></property><property name="hibernateProperties"><props><prop key="hibernate.dialect">org.hibernate.dialect.MySQLDialect</prop><prop key="hibernate.show_sql">true</prop></props></property><property name="mappingResources"><list><value>com/gufengxiachen/s2sh/bean/User.hbm.xml</value></list></property></bean><bean id="hibernateTemplate" class="org.springframework.orm.hibernate3.HibernateTemplate"><constructor-arg><ref local="sessionFactory"/></constructor-arg></bean><!-- 把DAO注入给Session工厂 --><bean id="userDao" class="com.gufengxiachen.s2sh.daoimpl.UserDAOImpl" ><property name="sessionFactory"><ref bean="sessionFactory"/></property></bean><!-- 把Service注入给DAO --><bean id="userService" class="com.gufengxiachen.s2sh.serviceimpl.UserServiceImpl"><property name="userDao" ref="userDao"></property></bean><!-- 把Action注入给Service --><bean id="loginAction" class="com.gufengxiachen.s2sh.action.LoginAction"> <property name="userService" ref="userService"> </property></bean></beans>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> <package name="s2sh" extends="struts-default" namespace="/"> <action name="loginAction" class="loginAction"> <result name="success">/result.jsp</result> <result name="input">/index.jsp</result> </action> </package> </struts>hibernate映射文件:<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE hibernate-mappingPUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN""http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd"><hibernate-mapping><class name="com.gufengxiachen.s2sh.bean" table="user"><id name="id" column="id" type="int"><generator class="increment"></generator></id><property name="username" column="username" type="string"></property><property name="password" type="string"></property></class></hibernate-mapping> 问题补充:duronshi 写道

解决方案

如果担心jar包有冲突的话~最好先启动一下服务器~看看出来什么信息~然后就百度一下就会之后那些包放在一起就会冲突的了~
解决方案二:
试试这样子:struts.xml变成这样<package name="s2sh" extends="struts-default" namespace="/user"> <action name="login" class="loginAction">index.jsp变成这样: <s:form action="login" namespace="/user">从这个例子里好好学一下<action>和<s:form>的配对一个struts.xml里面可以有多个<package>标签,在<package>标签里面最好定义一下那个namespace属性(针对用户的我们可以定义为/user,针对商品的我们可以定义为/product)以上都是举例,这样对于url的划分比较好~其他文件我没有看了~最近我缺分啊~
解决方案三:
是的~没有找到action或者你页面的namespace属性值和struts.xml那个action的namespace没有配对上~如果可以的话把你页面的那个<s:form>那一小行贴出来~
解决方案四:
message There is no Action mapped for namespace / and action name login. 是不是报404错误?
解决方案五:
Exception提示的是:loginAction没有实例化,也没有找到相应的“loginAction”类试试一楼的办法
解决方案六:
你要一个一个去测试看是否能拿到Dao,service有可能是你的依赖注入出了问题。
解决方案七:
虽然记得默认就有,但还是在<package/>前显示加上<constant name="struts.objectFactory" value="spring" />试试。
解决方案八:
楼主要学会分析问题,呵呵Unable to instantiate Action, loginAction, defined for 'loginAction' in namespace '/'loginAction java.lang.ClassNotFoundException: loginAction 通过这两行应该可以看出是什么问题了,<package name="s2sh" extends="struts-default" namespace="/"> <action name="loginAction" class="loginAction">
解决方案九:
Unable to instantiate Action, loginAction, defined for 'loginAction' in namespace '/'loginAction 把<action name="loginAction" class="loginAction"> 改成<action name="login" class="loginAction"> 试下

时间: 2024-08-30 20:33:47

struts2+Hibernate+spring整合问题(异常的相关文章

关于struts2和spring整合的问题

问题描述 以前培训的时候讲到过这个,整合正常的做法是导入struts2-spring-plugin.jar包,然后在struts.xml里面配置action标签的class属性时直接写创建action类的bean id的名字,而不是直接写类的路径,当然new action类是通过spring来创建bean的(不管是注解方式还是xml方式),但是实验结果是就算不导入struts2-spring-plugin.jar包,struts.xml里面配置action标签的class属性时直接写类的路径,并

求:精通J2EE-Eclipse Struts Hibernate Spring 整合应用案例,电子完整版

问题描述 兄弟们谁有<精通J2EE-EclipseStrutsHibernateSpring整合应用案例>,电子完整版啊?给小弟发一份吧谢谢!邮箱:wenny288@126.com 解决方案 解决方案二:楼主啊我也想弄一份看看你要是得到的话,转一份给我哈谢谢了!!解决方案三:楼主啊我也想弄一份看看你要是得到的话,转一份给我哈software717@gmail.com不胜感谢解决方案四:我有<轻量级J2EE企业应用实践--hibernate+struts+spring整合>楼主要不要

JQuery+Ajax+Struts2+Hibernate框架整合实现完整的登录注册_AJAX相关

最近在仿造一个书城的网站: http://www.yousuu.com ,UI直接拿来用,前端后端自己写,目前大部分功能已经实现, 就把具体的 登录注册功能 拿来分享一下.PS:又写登录注册会不会被人喷啊=.= 一.开发环境的部署 程序结构: BootStrap+Ajax+Struts2+Hibernate+MySql 仅供参考:能实现相关功能即可 操作系统:ubuntu 14.10 前端框架:BootStrap   注:此框架只是为了实现用户界面,和具体功能无关 数据库:mysql-5.5 数

JQuery+Ajax+Struts2+Hibernate框架整合实现完整的登录注册

最近在仿造一个书城的网站: http://www.yousuu.com ,UI直接拿来用,前端后端自己写,目前大部分功能已经实现, 就把具体的 登录注册功能 拿来分享一下.PS:又写登录注册会不会被人喷啊=.= 一.开发环境的部署 程序结构: BootStrap+Ajax+Struts2+Hibernate+MySql 仅供参考:能实现相关功能即可 操作系统:ubuntu 14.10 前端框架:BootStrap   注:此框架只是为了实现用户界面,和具体功能无关 数据库:mysql-5.5 数

重新学习之spring第四个程序,整合struts2+hibernate+spring

第一步:导入三大框架的jar包(struts2.3.16.1+hibernate3.2+spring3.2.4)   第二步:编写web.xml 和struts.xml和applicationContext.xml和applicationContext-service.xml和application-actionContext.xml和applicationContext-dao.xml web.xml 1 <?xml version="1.0" encoding="U

struts2+ibats+spring整合启动tomcat报错

问题描述 严重: Dispatcher initialization failedjava.lang.RuntimeException: java.lang.RuntimeException: java.lang.RuntimeException: java.lang.reflect.InvocationTargetExceptionat com.opensymphony.xwork2.inject.ContainerBuilder$4.create(ContainerBuilder.java:

struts2+hibernate+spring配置版框架搭建以及简单测试(方便脑补)

为了之后学习的日子里加深对框架的理解和使用,这里将搭建步奏简单写一下,目的主要是方便以后自己回来脑补: 1:File--->New--->Other--->Maven--->Maven Project--->Next(之后界面如下所示:) --->Next(点击next之后出现如下界面:选择最后一个 maven-archetype-webapp,然后点击next) --->Next(点击next之后出现如下界面,然后选择好组织号,工程号,版本号即可),最后点击Fi

struts2+hibernate+spring注解版框架搭建以及简单测试(方便脑补)

为了之后学习的日子里加深对框架的理解和使用,这里将搭建步奏简单写一下,目的主要是方便以后自己回来脑补: 1:File--->New--->Other--->Maven--->Maven Project--->Next(之后界面如下所示:) --->Next(点击next之后出现如下界面:选择最后一个 maven-archetype-webapp,然后点击next) --->Next(点击next之后出现如下界面,然后选择好组织号,工程号,版本号即可),最后点击Fi

Struts2和Spring整合中的Action是由谁创建的,有什么区别

问题描述 以下配置均未在Struts配置文件中加入<constant name="struts.objectFactory" value="spring" />情况说明如下:登录页面提交到Action中,Action在execute方法中调用ms对象中的valid方法进行验证,返回SUCCESS.在Action的构造方法中输出一行文字第一种情况:在Struts中配置Action,配置name,class配置成Spring中Action类的Bean ID,