雪拥蓝关 2014-04-24 10:50 采纳率: 0%
浏览 954

spring4.0.3整合sruts-2 3.16.1差一步整合不到一起

具体错误如下:
严重: Exception starting filter struts2
Class: com.opensymphony.xwork2.spring.SpringObjectFactory
File: SpringObjectFactory.java
Method: getClassInstance
Line: 230 - com/opensymphony/xwork2/spring/SpringObjectFactory.java:230:-1
at org.apache.struts2.dispatcher.Dispatcher.init(Dispatcher.java:501)
at org.apache.struts2.dispatcher.ng.InitOperations.initDispatcher(InitOperations.java:74)
at org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter.init(StrutsPrepareAndExecuteFilter.java:57)
at org.apache.catalina.core.ApplicationFilterConfig.initFilter(ApplicationFilterConfig.java:281)
at org.apache.catalina.core.ApplicationFilterConfig.getFilter(ApplicationFilterConfig.java:262)
at org.apache.catalina.core.ApplicationFilterConfig.(ApplicationFilterConfig.java:107)
at org.apache.catalina.core.StandardContext.filterStart(StandardContext.java:4656)
at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5309)
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1559)
at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1549)
at java.util.concurrent.FutureTask.run(FutureTask.java:262)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
at java.lang.Thread.run(Thread.java:744)
Caused by: java.lang.NullPointerException
at com.opensymphony.xwork2.spring.SpringObjectFactory.getClassInstance(SpringObjectFactory.java:230)
at com.opensymphony.xwork2.config.providers.XmlConfigurationProvider.verifyResultType(XmlConfigurationProvider.java:604)
at com.opensymphony.xwork2.config.providers.XmlConfigurationProvider.addResultTypes(XmlConfigurationProvider.java:574)
at com.opensymphony.xwork2.config.providers.XmlConfigurationProvider.addPackage(XmlConfigurationProvider.java:530)
at com.opensymphony.xwork2.config.providers.XmlConfigurationProvider.loadPackages(XmlConfigurationProvider.java:292)
at org.apache.struts2.config.StrutsXmlConfigurationProvider.loadPackages(StrutsXmlConfigurationProvider.java:112)
at com.opensymphony.xwork2.config.impl.DefaultConfiguration.reloadContainer(DefaultConfiguration.java:258)
at com.opensymphony.xwork2.config.ConfigurationManager.getConfiguration(ConfigurationManager.java:67)
at org.apache.struts2.dispatcher.Dispatcher.init_PreloadConfiguration(Dispatcher.java:445)
at org.apache.struts2.dispatcher.Dispatcher.init(Dispatcher.java:489)
... 14 more

  • 写回答

1条回答 默认 最新

  • 你知我知皆知 2024-08-02 00:05
    关注

    以下回答参考 皆我百晓生券券喵儿 等免费微信小程序相关内容作答,并由本人整理回复。

    要解决这个问题,首先确保Spring和SRUTS框架的版本都正确。然后检查以下步骤:

    1. 确保你的Spring应用程序上下文中包含了正确的Struts2配置文件。
    ApplicationContext context = new AnnotationConfigApplicationContext(MyAppConfigurer.class);
    
    1. 检查struts.xmlstruts-config.xml是否正确指定了<struts>...</struts>部分,并且包含正确的标签定义(例如<action>...</action>)。

    2. 检查你使用的Spring框架版本是否支持Struts2功能。某些版本的Spring可能不完全支持Struts2。

    3. 如果上述步骤都没有解决问题,尝试将Struts2组件转换为Web服务。这可以通过在Spring配置中添加一个新的WebServlet来实现。创建一个新的类,继承自javax.servlet.Servlet并重写相应的方法。然后,在applicationContext.getBean方法中注入这个新创建的WebServlet。

    public class Struts2WebServlet extends HttpServlet {
        //...
    }
    

    这样,Spring容器就可以管理Struts2的生命周期了。

    如果问题仍然存在,请提供更多关于您的Spring和Struts2配置的信息,以便更准确地帮助您解决问题。

    评论

报告相同问题?