首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > J2EE开发 >

SSH整合action无法实例化,大神路过的一定要进来看看

2013-09-11 
SSH整合action无法实例化,求救啊!大神路过的一定要进来看看!以下是配置部分!给的分数不多,希望大家能够热

SSH整合action无法实例化,求救啊!大神路过的一定要进来看看!
以下是配置部分!给的分数不多,希望大家能够热心的帮助我啊!谢谢了!

<!--context.xml-->

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
     xmlns:jee="http://www.springframework.org/schema/jee"
     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" destroy-method="close">
   <property name="driverClassName">
        <value>oracle.jdbc.driver.OracleDriver</value>
    </property>
    <property name="url">
        <value>jdbc:oracle:thin:@10.1.1.156:1521:orcl</value>
    </property>
    <property name="username">
        <value>userfocus</value>
    </property>
    <property name="password">
        <value>pasfocustest</value>
    </property>
  </bean>

  <bean id="sessionFactory" class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">
  <property name="dataSource" ref="dataSource" />
  <property name="hibernateProperties">
        <props>
            <!-- 数据库方言 -->
            <prop key="hibernate.dialect">org.hibernate.dialect.MySQLDialect</prop>
            <!-- 显示sql语句 -->
            <prop key="hibernate.show_sql">true</prop>
        </props>
    </property>
    <!-- 映射文件 -->
    <property name="mappingLocations">
        <list>
            <value>classpath:com/cc/order/entity/*.hbm.xml</value>
        </list>
    </property>
  </bean>

<!-- 创建持久层Dao对象  依赖注入sessionFactory-->
<bean id="csrAgentDao" class="com.cc.order.dao.CsrAgentDao" scope="prototype">
  <property name="sessionFactory" ref="sessionFactory"/>
</bean>

<!-- 创建业务逻辑层Service对象   依赖注入其持久层对象属性-->
<bean id="agentService" class="com.cc.order.svr.AgenteService" scope="prototype">
  <property name="csrAgentDao" ref="csrAgentDao" />
</bean>

<!-- 创建控制层SaveUserAction的对象 依赖注入其业务层对象属性  -->
<bean id="AgentAction11" class="com.cc.order.action.AgentAction" scope="prototype">
      <property name="agentService" ref="agentService" />


</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>
 <constant name="struts.objectFactory" value="org.apache.struts2.spring.StrutsSpringObjectFactory" /> 
<package name="test"  extends="struts-default">
    <action name="find" class="AgentAction" method="find">
     <result name="success">/index.jsp</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">
  <welcome-file-list>
    <welcome-file>index.jsp</welcome-file>
  </welcome-file-list>
  

<!-- 配置applicationContext.xml的路径 -->
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>/WEB-INF/context/context.xml</param-value>
</context-param>
<!-- 配置监听,spring与struts关联 -->
<!-- 用于初始化Spring容器的Listener -->
<listener>
    <listener-class>
     org.springframework.web.context.ContextLoaderListener
    </listener-class>
</listener>
    
    
    
 <!-- 配置 struts2,并且配置加载struts2的配置属性(config)值,其中param-name为config也是不可修改的 -->  
    <filter>  
        <filter-name>struts2</filter-name>  
        <filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class>  
        <init-param>  
            <param-name>config</param-name>  
            <param-value>    
            <!-- 这里是需要的struts配置文件,当修改配置文件位置是,需要将默认的其他几个配置文件加到此处 -->  
                struts-default.xml,struts-plugin.xml,../struts/struts.xml 
            </param-value>  
        </init-param>  
    </filter>  
    <filter-mapping>  
        <filter-name>struts2</filter-name>  
        <url-pattern>/*</url-pattern>  
    </filter-mapping>  
    
</web-app>


报错信息,注:后台没有报错,此错误是jsp页面上的。
Unable to instantiate Action, AgentAction,  defined for 'find' in namespace '/'AgentAction
com.opensymphony.xwork2.DefaultActionInvocation.createAction(DefaultActionInvocation.java:319)
com.opensymphony.xwork2.DefaultActionInvocation.init(DefaultActionInvocation.java:400)
com.opensymphony.xwork2.DefaultActionProxy.prepare(DefaultActionProxy.java:194)
org.apache.struts2.impl.StrutsActionProxy.prepare(StrutsActionProxy.java:63)
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:501)
org.apache.struts2.dispatcher.ng.ExecuteOperations.executeAction(ExecuteOperations.java:77)
org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter.doFilter(StrutsPrepareAndExecuteFilter.java:91)


root cause 

java.lang.ClassNotFoundException: AgentAction
org.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:152)
com.opensymphony.xwork2.ObjectFactory.getClassInstance(ObjectFactory.java:108)
com.opensymphony.xwork2.spring.SpringObjectFactory.getClassInstance(SpringObjectFactory.java:233)
com.opensymphony.xwork2.spring.SpringObjectFactory.buildBean(SpringObjectFactory.java:153)
com.opensymphony.xwork2.ObjectFactory.buildBean(ObjectFactory.java:151)
com.opensymphony.xwork2.ObjectFactory.buildAction(ObjectFactory.java:121)
com.opensymphony.xwork2.DefaultActionInvocation.createAction(DefaultActionInvocation.java:300)
com.opensymphony.xwork2.DefaultActionInvocation.init(DefaultActionInvocation.java:400)
com.opensymphony.xwork2.DefaultActionProxy.prepare(DefaultActionProxy.java:194)
org.apache.struts2.impl.StrutsActionProxy.prepare(StrutsActionProxy.java:63)
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:501)
org.apache.struts2.dispatcher.ng.ExecuteOperations.executeAction(ExecuteOperations.java:77)
org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter.doFilter(StrutsPrepareAndExecuteFilter.java:91)


[最优解释]
你spring配置文件
<!-- 创建控制层SaveUserAction的对象 依赖注入其业务层对象属性  -->
<bean id="AgentAction11" class="com.cc.order.action.AgentAction" scope="prototype">
      <property name="agentService" ref="agentService" />
</bean>
<action name="find" class="AgentAction" method="find">
写的不一样 怎么可以?

[其他解释]
严重: Context initialization failed
org.springframework.beans.factory.CannotLoadBeanClassException: Cannot find class [com.cc.order.dao.CsrAgentDao]
找不到这个com.cc.order.dao.CsrAgentDao你看下有没哪里写错了或写漏了
[其他解释]
<!--struts.xml-->
里面的
<package name="test"  extends="struts-default">
    <action name="find" class="AgentAction" method="find">
     <result name="success">/index.jsp</result>


    </action>
</package>

<package namespace="/" name="test" extends="struts-default">

试试
[其他解释]

引用:
<!--struts.xml-->
里面的
<package name="test"  extends="struts-default">
    <action name="find" class="AgentAction" method="find">
     <result name="success">/index.jsp</result>
    <……

加上了还是原来那样子的,谢谢你了!


引用:
你spring配置文件
<!-- 创建控制层SaveUserAction的对象 依赖注入其业务层对象属性  -->
<bean id="AgentAction11" class="com.cc.order.action.AgentAction" scope="prototype">
      <property name="agentService" ref="a……

哥们,不好意思,这是我自己调试的时候加上去的,忘了删除,现在报错是
Unable to instantiate Action, AgentAction,  defined for 'find' in namespace '/'Cannot find class [com.cc.order.action.AgentAction] for bean with name 'AgentAction' defined in ServletContext resource [/WEB-INF/context/context.xml]; nested exception is java.lang.ClassNotFoundException: com.cc.order.action.AgentAction
com.opensymphony.xwork2.DefaultActionInvocation.createAction(DefaultActionInvocation.java:319)
com.opensymphony.xwork2.DefaultActionInvocation.init(DefaultActionInvocation.java:400)
com.opensymphony.xwork2.DefaultActionProxy.prepare(DefaultActionProxy.java:194)
org.apache.struts2.impl.StrutsActionProxy.prepare(StrutsActionProxy.java:63)
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:501)
org.apache.struts2.dispatcher.ng.ExecuteOperations.executeAction(ExecuteOperations.java:77)
org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter.doFilter(StrutsPrepareAndExecuteFilter.java:91)

我看错误提示中是找不到com.cc.order.action.AgentAction,我推测action已经被spring管理了,但是实例化不了不知道怎么回事?再次感谢两位!
[其他解释]
<constant name="struts.objectFactory" value="org.apache.struts2.spring.StrutsSpringObjectFactory" /> 
换成
<constant name="struts.objectFactory" value="spring"></constant>
我用的是这个 ,可以的。
[其他解释]
引用:
<constant name="struts.objectFactory" value="org.apache.struts2.spring.StrutsSpringObjectFactory" /> 
换成
<constant name="struts.objectFactory" value="spring"></constant>
我用的是这个 ,可以的。
 ……

我改了以后还是一样,还有一个奇怪的问题。
<!-- 创建业务逻辑层agentService对象   依赖注入其持久层对象属性-->
<bean id="agentService" class="com.cc.order.svr.AgenteService">
  <property name="csrAgentDao" ref="csrAgentDao" />
</bean>
如果我去掉了scope="prototype"就会报错
严重: Context initialization failed
org.springframework.beans.factory.CannotLoadBeanClassException: Cannot find class [com.cc.order.svr.AgenteService] for bean with name 'agentService' defined in ServletContext resource [/WEB-INF/context/context.xml]; nested exception is java.lang.ClassNotFoundException: com.cc.order.svr.AgenteService


at org.springframework.beans.factory.support.AbstractBeanFactory.resolveBeanClass(AbstractBeanFactory.java:1262)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.predictBeanType(AbstractAutowireCapableBeanFactory.java:576)
at org.springframework.beans.factory.support.AbstractBeanFactory.isFactoryBean(AbstractBeanFactory.java:1331)
at org.springframework.beans.factory.support.AbstractBeanFactory.isFactoryBean(AbstractBeanFactory.java:897)
at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:590)
at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:918)
at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:469)
at org.springframework.web.context.ContextLoader.configureAndRefreshWebApplicationContext(ContextLoader.java:383)
at org.springframework.web.context.ContextLoader.initWebApplicationContext(ContextLoader.java:283)
at org.springframework.web.context.ContextLoaderListener.contextInitialized(ContextLoaderListener.java:111)
at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:4206)
at org.apache.catalina.core.StandardContext.start(StandardContext.java:4705)
at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:799)
at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:779)
at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:601)
at org.apache.catalina.startup.HostConfig.deployDirectory(HostConfig.java:1079)
at org.apache.catalina.startup.HostConfig.deployDirectories(HostConfig.java:1002)
at org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:506)
at org.apache.catalina.startup.HostConfig.start(HostConfig.java:1317)
at org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:324)
at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:142)
at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1065)
at org.apache.catalina.core.StandardHost.start(StandardHost.java:840)
at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1057)
at org.apache.catalina.core.StandardEngine.start(StandardEngine.java:463)
at org.apache.catalina.core.StandardService.start(StandardService.java:525)
at org.apache.catalina.core.StandardServer.start(StandardServer.java:754)
at org.apache.catalina.startup.Catalina.start(Catalina.java:595)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:289)
at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:414)
Caused by: java.lang.ClassNotFoundException: com.cc.order.svr.AgenteService
at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1680)
at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1526)
at org.springframework.util.ClassUtils.forName(ClassUtils.java:258)
at org.springframework.beans.factory.support.AbstractBeanDefinition.resolveBeanClass(AbstractBeanDefinition.java:417)
at org.springframework.beans.factory.support.AbstractBeanFactory.doResolveBeanClass(AbstractBeanFactory.java:1283)
at org.springframework.beans.factory.support.AbstractBeanFactory.resolveBeanClass(AbstractBeanFactory.java:1254)


... 33 more
2012-11-20 11:13:30 org.apache.catalina.core.StandardContext listenerStart
我觉的这个也不正常吧,再帮心看看吧,什么问题啊?谢谢了

[其他解释]
dao和service都不要scope=prototype
[其他解释]

引用:
dao和service都不要scope=prototype

我去掉了以后,启动就报错啊!
严重: Context initialization failed
org.springframework.beans.factory.CannotLoadBeanClassException: Cannot find class [com.cc.order.dao.CsrAgentDao] for bean with name 'csrAgentDao' defined in ServletContext resource [/WEB-INF/context/context.xml]; nested exception is java.lang.ClassNotFoundException: com.cc.order.dao.CsrAgentDao
at org.springframework.beans.factory.support.AbstractBeanFactory.resolveBeanClass(AbstractBeanFactory.java:1262)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.predictBeanType(AbstractAutowireCapableBeanFactory.java:576)
at org.springframework.beans.factory.support.AbstractBeanFactory.isFactoryBean(AbstractBeanFactory.java:1331)
at org.springframework.beans.factory.support.AbstractBeanFactory.isFactoryBean(AbstractBeanFactory.java:897)
at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:590)
at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:918)
at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:469)
at org.springframework.web.context.ContextLoader.configureAndRefreshWebApplicationContext(ContextLoader.java:383)
at org.springframework.web.context.ContextLoader.initWebApplicationContext(ContextLoader.java:283)
at org.springframework.web.context.ContextLoaderListener.contextInitialized(ContextLoaderListener.java:111)
at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:4206)
at org.apache.catalina.core.StandardContext.start(StandardContext.java:4705)
at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:799)
at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:779)
at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:601)
at org.apache.catalina.startup.HostConfig.deployDirectory(HostConfig.java:1079)
at org.apache.catalina.startup.HostConfig.deployDirectories(HostConfig.java:1002)
at org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:506)
at org.apache.catalina.startup.HostConfig.start(HostConfig.java:1317)
at org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:324)
at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:142)
at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1065)
at org.apache.catalina.core.StandardHost.start(StandardHost.java:840)
at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1057)
at org.apache.catalina.core.StandardEngine.start(StandardEngine.java:463)
at org.apache.catalina.core.StandardService.start(StandardService.java:525)
at org.apache.catalina.core.StandardServer.start(StandardServer.java:754)
at org.apache.catalina.startup.Catalina.start(Catalina.java:595)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)


at java.lang.reflect.Method.invoke(Method.java:597)
at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:289)
at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:414)
Caused by: java.lang.ClassNotFoundException: com.cc.order.dao.CsrAgentDao
at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1680)
at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1526)
at org.springframework.util.ClassUtils.forName(ClassUtils.java:258)
at org.springframework.beans.factory.support.AbstractBeanDefinition.resolveBeanClass(AbstractBeanDefinition.java:417)
at org.springframework.beans.factory.support.AbstractBeanFactory.doResolveBeanClass(AbstractBeanFactory.java:1283)
at org.springframework.beans.factory.support.AbstractBeanFactory.resolveBeanClass(AbstractBeanFactory.java:1254)
... 33 more
2012-11-20 11:25:29 org.apache.catalina.core.StandardContext listenerStart
严重: Exception sending context initialized event to listener instance of class org.springframework.web.context.ContextLoaderListener

我的监听程序是不是有问题啊?帮忙看一下!
[其他解释]
<!-- 创建业务逻辑层Service对象   依赖注入其持久层对象属性-->
<bean id="agentService" class="com.cc.order.svr.AgenteService" scope="prototype">
  <property name="csrAgentDao" ref="csrAgentDao" />
</bean>

你的dao的名字,service里面的dao不应该这样写, 应该写出csragentDao 中间不要出现大写,试一下把。
我感觉就是这样了。。。
[其他解释]
唉,郁闷啊,myeclipse没有编译,WebRoot\WEB-INF\classes下是空的,谢谢大家的帮助,随然分不多,但是只能这样感谢大家了!
我的异常网推荐解决方案:java.lang.ClassNotFoundException: org.apache.commons.dbcp.BasicDataSource,http://www.myexception.cn/j2ee/182233.html

热点排行