溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Struts2和Spring集成小問題是怎么樣的

發布時間:2021-10-27 09:26:39 來源:億速云 閱讀:164 作者:柒染 欄目:編程語言

這期內容當中小編將會給大家帶來有關Struts2和Spring集成小問題是怎么樣的,文章內容豐富且以專業的角度為大家分析和敘述,閱讀完這篇文章希望大家可以有所收獲。

因為Struts2是線程安全的,每次請求的時候都會創建一個Action實例,在與spring集成的時候,基于注解,必須在控制器中加入@Scope("prototype")代碼。

再研究Struts2的時候出現以下問題:

Java代碼

Exception starting filter struts2     Action class [LogAction] not found - action - file:/E:/software/apache-tomcat-6.0.16/webapps/ROOT/WEB-INF/classes/struts.xml:30:51        at com.opensymphony.xwork2.config.providers.XmlConfigurationProvider.verifyAction(XmlConfigurationProvider.java:374)         at com.opensymphony.xwork2.config.providers.XmlConfigurationProvider.addAction(XmlConfigurationProvider.java:329)         at com.opensymphony.xwork2.config.providers.XmlConfigurationProvider.addPackage(XmlConfigurationProvider.java:429)         at com.opensymphony.xwork2.config.providers.XmlConfigurationProvider.loadPackages(XmlConfigurationProvider.java:239)         at org.apache.struts2.config.StrutsXmlConfigurationProvider.loadPackages(StrutsXmlConfigurationProvider.java:111)         at com.opensymphony.xwork2.config.impl.DefaultConfiguration.reload(DefaultConfiguration.java:152)         at com.opensymphony.xwork2.config.ConfigurationManager.getConfiguration(ConfigurationManager.java:52)         at org.apache.struts2.dispatcher.Dispatcher.init_PreloadConfiguration(Dispatcher.java:395)         at org.apache.struts2.dispatcher.Dispatcher.init(Dispatcher.java:452)         at org.apache.struts2.dispatcher.FilterDispatcher.init(FilterDispatcher.java:201)         at org.apache.catalina.core.ApplicationFilterConfig.getFilter(ApplicationFilterConfig.java:275)         at org.apache.catalina.core.ApplicationFilterConfig.setFilterDef(ApplicationFilterConfig.java:397)         at org.apache.catalina.core.ApplicationFilterConfig.<init>(ApplicationFilterConfig.java:108)         at org.apache.catalina.core.StandardContext.filterStart(StandardContext.java:3709)         at org.apache.catalina.core.StandardContext.start(StandardContext.java:4356)         at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:791)         at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:771)         at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:525)         at org.apache.catalina.startup.HostConfig.deployDirectory(HostConfig.java:924)         at org.apache.catalina.startup.HostConfig.deployDirectories(HostConfig.java:887)         at org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:492)         at org.apache.catalina.startup.HostConfig.start(HostConfig.java:1147)         at org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:311)         at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:117)         at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1053)         at org.apache.catalina.core.StandardHost.start(StandardHost.java:719)         at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1045)         at org.apache.catalina.core.StandardEngine.start(StandardEngine.java:443)         at org.apache.catalina.core.StandardService.start(StandardService.java:516)         at org.apache.catalina.core.StandardServer.start(StandardServer.java:710)         at org.apache.catalina.startup.Catalina.start(Catalina.java:578)         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:288)         at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:413)     2009-5-21 15:05:02 org.apache.catalina.core.StandardContext start     Exception starting filter struts2  Action class [LogAction] not found - action - file:/E:/software/apache-tomcat-6.0.16/webapps/ROOT/WEB-INF/classes/struts.xml:30:51   at com.opensymphony.xwork2.config.providers.XmlConfigurationProvider.verifyAction(XmlConfigurationProvider.java:374)   at com.opensymphony.xwork2.config.providers.XmlConfigurationProvider.addAction(XmlConfigurationProvider.java:329)   at com.opensymphony.xwork2.config.providers.XmlConfigurationProvider.addPackage(XmlConfigurationProvider.java:429)   at com.opensymphony.xwork2.config.providers.XmlConfigurationProvider.loadPackages(XmlConfigurationProvider.java:239)   at org.apache.struts2.config.StrutsXmlConfigurationProvider.loadPackages(StrutsXmlConfigurationProvider.java:111)   at com.opensymphony.xwork2.config.impl.DefaultConfiguration.reload(DefaultConfiguration.java:152)   at com.opensymphony.xwork2.config.ConfigurationManager.getConfiguration(ConfigurationManager.java:52)   at org.apache.struts2.dispatcher.Dispatcher.init_PreloadConfiguration(Dispatcher.java:395)   at org.apache.struts2.dispatcher.Dispatcher.init(Dispatcher.java:452)   at org.apache.struts2.dispatcher.FilterDispatcher.init(FilterDispatcher.java:201)   at org.apache.catalina.core.ApplicationFilterConfig.getFilter(ApplicationFilterConfig.java:275)   at org.apache.catalina.core.ApplicationFilterConfig.setFilterDef(ApplicationFilterConfig.java:397)   at org.apache.catalina.core.ApplicationFilterConfig.<init>(ApplicationFilterConfig.java:108)   at org.apache.catalina.core.StandardContext.filterStart(StandardContext.java:3709)   at org.apache.catalina.core.StandardContext.start(StandardContext.java:4356)   at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:791)   at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:771)   at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:525)   at org.apache.catalina.startup.HostConfig.deployDirectory(HostConfig.java:924)   at org.apache.catalina.startup.HostConfig.deployDirectories(HostConfig.java:887)   at org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:492)   at org.apache.catalina.startup.HostConfig.start(HostConfig.java:1147)   at org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:311)   at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:117)   at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1053)   at org.apache.catalina.core.StandardHost.start(StandardHost.java:719)   at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1045)   at org.apache.catalina.core.StandardEngine.start(StandardEngine.java:443)   at org.apache.catalina.core.StandardService.start(StandardService.java:516)   at org.apache.catalina.core.StandardServer.start(StandardServer.java:710)   at org.apache.catalina.startup.Catalina.start(Catalina.java:578)   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:288)   at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:413)  2009-5-21 15:05:02 org.apache.catalina.core.StandardContext start

struts.xml中是這樣配置的

Java代碼

<context:component-scan base-package="net.shopin"/>     <action name="*" class="LogAction" method="{1}">                 <result name="login">/WEB-INF/page/member/login.jsp</result>             </action>     <context:component-scan base-package="net.shopin"/> <action name="*" class="LogAction" method="{1}">    <result name="login">/WEB-INF/page/member/login.jsp</result>   </action>

以為以上用到了spring的自動掃描工程中的bean,所以class那寫的不是bean的全名,研究了好久才發現原來class那寫的時候,***個字母必須小寫,改后,問題解決……

修改后的struts.xml

Java代碼

<context:component-scan base-package="net.shopin"/>     <action name="*" class="logAction" method="{1}">                 <result name="login">/WEB-INF/page/member/login.jsp</result>             </action>

上述就是小編為大家分享的Struts2和Spring集成小問題是怎么樣的了,如果剛好有類似的疑惑,不妨參照上述分析進行理解。如果想知道更多相關知識,歡迎關注億速云行業資訊頻道。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女