有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java无法加载配置

我试图在tomcat服务器上部署struts+spring+hibernate应用程序,但struts配置中出现了一些错误,即struts中的错误。xml我正在使用spring上定义的bean editEmployeeAction。xml,但在部署应用程序时,tomcat未能加载操作[not found action]

请帮我解决这个问题

春天。xml

   ...
   <!-- This bean has been referred fron struts.xml file; So type it correctly; -->
   <!-- Make scope prototype; This is really important. -->
   <bean id="editEmployeeAction" class="me.modernpage.controller.EditEmployeeAction" 
    scope="prototype">
    <property name="employeeManager">
        <ref bean="employeeManager"/>
    </property>
  </bean>   

  <bean id="employeeDAO" class="me.modernpage.dao.EmployeeDAOImpl">
    <property name="sessionFactory">
        <ref bean="sessionFactory"/>
    </property>
  </bean>
   <bean id="employeeManager" class="me.modernpage.service.EmployeeManagerImpl">
    <property name="employeeDAO">
        <ref bean="employeeDAO"/>
    </property>
   </bean> 
   ...

struts。xml位于src上/

<struts>
<constant name="struts.devMode" value="true" />
<constant name="struts.custom.i18n.resources" value="messages" />
<constant name="struts.enable.SlachesInActionNames" value="true" />

<package name="default" namespace="" extends="struts-default">
    <!-- Two things to Notice: 
         1) class is set to 'editEmployeeAction' which is bean defined by Spring context
         2) We have given the method to be called here as well; -->
    
    <action name="list" class="editEmployeeAction" method="listEmployees">
        <result>/view/editEmployeeList.jsp</result>
    </action>
    
    <action name="add" class="editEmployeeAction" method="addEmployee">
        <result type="redirect">/list</result>
    </action>
    
    <action name="delete/*" class="editEmployeeAction" method="deleteEmployee">
        <param name="employee.id">{1}</param>
        <result type="redirect">/list</result>
    </action>
    <action name="*" class="editEmployeeAction" method="listEmployees">
        <result>/view/editEmployeeList.jsp</result>
    </action>
</package>
</struts>

在这里,你可以看到'class'的值是eEmployeeList bean,那么我认为tomcat找不到这个bean了

错误:

23:06:57,021 ERROR Dispatcher:42 - Dispatcher initialization failed

无法加载配置。-操作-文件:/home/yusuf/tomcat/apache-tomcat-9.0.24/web/Spring\u Struts\u Hibernate/web-INF/classes/Struts。xml:17:73 在com上。开放交响乐团。xwork2。配置。配置管理器。getConfiguration(ConfigurationManager.java:70) 在org。阿帕奇。struts2。调度员。调度员。getContainer(Dispatcher.java:978) 在org。阿帕奇。struts2。调度员。调度员。初始化配置(Dispatcher.java:446) 在org。阿帕奇。struts2。调度员。调度员。init(Dispatcher.java:490) 在org。阿帕奇。struts2。调度员。嗯。初始化操作。initDispatcher(InitOperations.java:74) 在org。阿帕奇。struts2。调度员。嗯。滤器Struts Prepare和Dexecutefilter。init(StrutsPrepareAndExecuteFilter.java:57) 在org。阿帕奇。卡塔琳娜。果心ApplicationFilterConfig。initFilter(ApplicationFilterConfig.java:270) 在org。阿帕奇。卡塔琳娜。果心ApplicationFilterConfig。getFilter(ApplicationFilterConfig.java:251) 在org。阿帕奇。卡塔琳娜。果心ApplicationFilterConfig。(ApplicationFilterConfig.java:102) 在org。阿帕奇。卡塔琳娜。果心标准语境。filterStart(StandardContext.java:4533) 在org。阿帕奇。卡塔琳娜。果心标准语境。startInternal(StandardContext.java:5172) 在org。阿帕奇。卡塔琳娜。util。生命周期酶。开始(LifecycleBase.java:183) 在org。阿帕奇。卡塔琳娜。果心ContainerBase$StartChild。调用(ContainerBase.java:1384) 在org。阿帕奇。卡塔琳娜。果心ContainerBase$StartChild。调用(ContainerBase.java:1374) 在爪哇。util。同时发生的未来任务。运行(FutureTask.java:266) 在org。阿帕奇。公猫util。线程。在线服务。execute(InlineExecutorService.java:75) 在爪哇。util。同时发生的这是我们的服务。提交(AbstractExecutorService.java:134) 在org。阿帕奇。卡塔琳娜。果心集装箱基地。startInternal(ContainerBase.java:909) 在org。阿帕奇。卡塔琳娜。果心标准主持人。startInternal(StandardHost.java:841) 在org。阿帕奇。卡塔琳娜。util。生命周期酶。开始(LifecycleBase.java:183) 在org。阿帕奇。卡塔琳娜。果心ContainerBase$StartChild。调用(ContainerBase.java:1384) 在org。阿帕奇。卡塔琳娜。果心ContainerBase$StartChild。调用(ContainerBase.java:1374) 在爪哇。util。同时发生的未来任务。运行(FutureTask.java:266) 在org。阿帕奇。公猫util。线程。在线服务。execute(InlineExecutorService.java:75) 在爪哇。util。同时发生的这是我们的服务。提交(AbstractExecutorService.java:134) 在org。阿帕奇。卡塔琳娜。果心集装箱基地。startInternal(ContainerBase.java:909) 在org。阿帕奇。卡塔琳娜。果心标准引擎。startInternal(StandardEngine.java:262) 在org。阿帕奇。卡塔琳娜。util。生命周期酶。开始(LifecycleBase.java:183) 在org。阿帕奇。卡塔琳娜。果心标准服务。startInternal(StandardService.java:421) 在org。阿帕奇。卡塔琳娜。util。生命周期酶。开始(LifecycleBase.java:183) 在org。阿帕奇。卡塔琳娜。果心标准服务器。startInternal(StandardServer.java:932) 在org。阿帕奇。卡塔琳娜。util。生命周期酶。开始(LifecycleBase.java:183) 在org。阿帕奇。卡塔琳娜。创业。卡塔琳娜。开始(Catalina.java:633) 在阳光下。反映NativeMethodAccessorImpl。invoke0(本机方法) 在阳光下。反映NativeMethodAccessorImpl。调用(NativeMethodAccessorImpl.java:62) 在阳光下。反映DelegatingMethodAccessorImpl。调用(DelegatingMethodAccessorImpl.java:43) 在爪哇。朗,反思一下。方法调用(Method.java:498) 在org。阿帕奇。卡塔琳娜。创业。独自创立开始(Bootstrap.java:344) 在org。阿帕奇。卡塔琳娜。创业。独自创立main(Bootstrap.java:475) 原因:Action类[editEmployeeActi]on]not found-action-file:/home/yusuf/tomcat/apache-tomcat-9.0.24/web/Spring\u Struts\u Hibernate/web-INF/classes/Struts。xml:17:73 在com上。开放交响乐团。xwork2。配置。提供者。XmlConfigurationProvider。verifyAction(XmlConfigurationProvider.java:486) 在com上。开放交响乐团。xwork2。配置。提供者。XmlConfigurationProvider。addAction(XmlConfigurationProvider.java:429) 在com上。开放交响乐团。xwork2。配置。提供者。XmlConfigurationProvider。addPackage(XmlConfigurationProvider.java:556) 在com上。开放交响乐团。xwork2。配置。提供者。XmlConfigurationProvider。loadPackages(XmlConfigurationProvider.java:295) 在org。阿帕奇。struts2。配置。StrutsXmlConfigurationProvider。loadPackages(StrutsXmlConfigurationProvider.java:112) 在com上。开放交响乐团。xwork2。配置。impl。默认配置。重新加载容器(DefaultConfiguration.java:264) 在com上。开放交响乐团。xwork2。配置。配置管理器。getConfiguration(ConfigurationManager.java:67) ... 38多


共 (1) 个答案

  1. # 1 楼答案

    最后,我意识到了问题的原因,该项目缺少struts-spring插件库来链接struts和spring

    strust2-spring-plugin