自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

Struts2和Spring集成小問題

開發(fā) 后端
本文所講的都是Struts2和Spring集成小問題,這些問題雖小,但在實際開發(fā)過程中可能演變成阻礙項目進度的大問題,值得我們注意。

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

再研究Struts2的時候出現(xiàn)以下問題:

Java代碼

  1. Exception starting filter struts2     
  2. Action class [LogAction] not found - action - file:/E:/software/apache-tomcat-6.0.16/webapps/ROOT/WEB-INF/classes/struts.xml:30:51    
  3.     at com.opensymphony.xwork2.config.providers.XmlConfigurationProvider.verifyAction(XmlConfigurationProvider.java:374)     
  4.     at com.opensymphony.xwork2.config.providers.XmlConfigurationProvider.addAction(XmlConfigurationProvider.java:329)     
  5.     at com.opensymphony.xwork2.config.providers.XmlConfigurationProvider.addPackage(XmlConfigurationProvider.java:429)     
  6.     at com.opensymphony.xwork2.config.providers.XmlConfigurationProvider.loadPackages(XmlConfigurationProvider.java:239)     
  7.     at org.apache.struts2.config.StrutsXmlConfigurationProvider.loadPackages(StrutsXmlConfigurationProvider.java:111)     
  8.     at com.opensymphony.xwork2.config.impl.DefaultConfiguration.reload(DefaultConfiguration.java:152)     
  9.     at com.opensymphony.xwork2.config.ConfigurationManager.getConfiguration(ConfigurationManager.java:52)     
  10.     at org.apache.struts2.dispatcher.Dispatcher.init_PreloadConfiguration(Dispatcher.java:395)     
  11.     at org.apache.struts2.dispatcher.Dispatcher.init(Dispatcher.java:452)     
  12.     at org.apache.struts2.dispatcher.FilterDispatcher.init(FilterDispatcher.java:201)     
  13.     at org.apache.catalina.core.ApplicationFilterConfig.getFilter(ApplicationFilterConfig.java:275)     
  14.     at org.apache.catalina.core.ApplicationFilterConfig.setFilterDef(ApplicationFilterConfig.java:397)     
  15.     at org.apache.catalina.core.ApplicationFilterConfig.<init>(ApplicationFilterConfig.java:108)     
  16.     at org.apache.catalina.core.StandardContext.filterStart(StandardContext.java:3709)     
  17.     at org.apache.catalina.core.StandardContext.start(StandardContext.java:4356)     
  18.     at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:791)     
  19.     at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:771)     
  20.     at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:525)     
  21.     at org.apache.catalina.startup.HostConfig.deployDirectory(HostConfig.java:924)     
  22.     at org.apache.catalina.startup.HostConfig.deployDirectories(HostConfig.java:887)     
  23.     at org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:492)     
  24.     at org.apache.catalina.startup.HostConfig.start(HostConfig.java:1147)     
  25.     at org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:311)     
  26.     at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:117)     
  27.     at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1053)     
  28.     at org.apache.catalina.core.StandardHost.start(StandardHost.java:719)     
  29.     at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1045)     
  30.     at org.apache.catalina.core.StandardEngine.start(StandardEngine.java:443)     
  31.     at org.apache.catalina.core.StandardService.start(StandardService.java:516)     
  32.     at org.apache.catalina.core.StandardServer.start(StandardServer.java:710)     
  33.     at org.apache.catalina.startup.Catalina.start(Catalina.java:578)     
  34.     at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)     
  35.     at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)     
  36.     at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)     
  37.     at java.lang.reflect.Method.invoke(Method.java:597)     
  38.     at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:288)     
  39.     at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:413)     
  40. 2009-5-21 15:05:02 org.apache.catalina.core.StandardContext start    
  41.  
  42. Exception starting filter struts2  
  43. Action class [LogAction] not found - action - file:/E:/software/apache-tomcat-6.0.16/webapps/ROOT/WEB-INF/classes/struts.xml:30:51  
  44.  at com.opensymphony.xwork2.config.providers.XmlConfigurationProvider.verifyAction(XmlConfigurationProvider.java:374)  
  45.  at com.opensymphony.xwork2.config.providers.XmlConfigurationProvider.addAction(XmlConfigurationProvider.java:329)  
  46.  at com.opensymphony.xwork2.config.providers.XmlConfigurationProvider.addPackage(XmlConfigurationProvider.java:429)  
  47.  at com.opensymphony.xwork2.config.providers.XmlConfigurationProvider.loadPackages(XmlConfigurationProvider.java:239)  
  48.  at org.apache.struts2.config.StrutsXmlConfigurationProvider.loadPackages(StrutsXmlConfigurationProvider.java:111)  
  49.  at com.opensymphony.xwork2.config.impl.DefaultConfiguration.reload(DefaultConfiguration.java:152)  
  50.  at com.opensymphony.xwork2.config.ConfigurationManager.getConfiguration(ConfigurationManager.java:52)  
  51.  at org.apache.struts2.dispatcher.Dispatcher.init_PreloadConfiguration(Dispatcher.java:395)  
  52.  at org.apache.struts2.dispatcher.Dispatcher.init(Dispatcher.java:452)  
  53.  at org.apache.struts2.dispatcher.FilterDispatcher.init(FilterDispatcher.java:201)  
  54.  at org.apache.catalina.core.ApplicationFilterConfig.getFilter(ApplicationFilterConfig.java:275)  
  55.  at org.apache.catalina.core.ApplicationFilterConfig.setFilterDef(ApplicationFilterConfig.java:397)  
  56.  at org.apache.catalina.core.ApplicationFilterConfig.<init>(ApplicationFilterConfig.java:108)  
  57.  at org.apache.catalina.core.StandardContext.filterStart(StandardContext.java:3709)  
  58.  at org.apache.catalina.core.StandardContext.start(StandardContext.java:4356)  
  59.  at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:791)  
  60.  at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:771)  
  61.  at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:525)  
  62.  at org.apache.catalina.startup.HostConfig.deployDirectory(HostConfig.java:924)  
  63.  at org.apache.catalina.startup.HostConfig.deployDirectories(HostConfig.java:887)  
  64.  at org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:492)  
  65.  at org.apache.catalina.startup.HostConfig.start(HostConfig.java:1147)  
  66.  at org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:311)  
  67.  at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:117)  
  68.  at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1053)  
  69.  at org.apache.catalina.core.StandardHost.start(StandardHost.java:719)  
  70.  at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1045)  
  71.  at org.apache.catalina.core.StandardEngine.start(StandardEngine.java:443)  
  72.  at org.apache.catalina.core.StandardService.start(StandardService.java:516)  
  73.  at org.apache.catalina.core.StandardServer.start(StandardServer.java:710)  
  74.  at org.apache.catalina.startup.Catalina.start(Catalina.java:578)  
  75.  at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)  
  76.  at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)  
  77.  at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)  
  78.  at java.lang.reflect.Method.invoke(Method.java:597)  
  79.  at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:288)  
  80.  at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:413)  
  81. 2009-5-21 15:05:02 org.apache.catalina.core.StandardContext start 

struts.xml中是這樣配置的

Java代碼

  1. <context:component-scan base-package="net.shopin"/>     
  2. <action name="*" class="LogAction" method="{1}">     
  3.             <result name="login">/WEB-INF/page/member/login.jsp</result>     
  4.         </action>    
  5.  
  6. <context:component-scan base-package="net.shopin"/> 
  7. <action name="*" class="LogAction" method="{1}"> 
  8.    <result name="login">/WEB-INF/page/member/login.jsp</result> 
  9.   </action> 

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

修改后的struts.xml

Java代碼

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

 

【編輯推薦】

  1. Struts2教程:攔截器概述
  2. Struts2教程:上傳任意多個文件
  3. Struts2教程:在Action類中獲得HttpServletResponse對象
  4. Struts2教程:使用Validation框架驗證數(shù)據(jù)
  5. Struts2教程:使用validate方法驗證數(shù)據(jù)
責任編輯:彭凡 來源: javaeye
相關(guān)推薦

2009-07-29 09:54:34

struts2和str

2011-05-13 09:53:02

strutsAjax

2009-07-17 17:45:56

iBATIS Spri

2009-06-19 15:52:58

Struts和Spri

2009-06-25 15:11:28

Struts2教程Struts2程序

2009-09-14 19:31:36

Struts1和Str

2011-05-03 09:40:58

iBatis

2009-02-04 10:51:07

2009-07-03 09:35:57

Struts2 JSP

2011-03-30 09:03:57

struts2

2011-11-25 13:01:16

JavaMVCstruts2

2009-06-04 08:34:24

Struts2配置struts.xml

2009-06-18 15:56:49

Struts和Spri

2009-03-24 10:30:35

SpringStruts集成

2009-06-04 10:44:18

struts2 亂碼解決辦法

2009-06-25 15:26:25

Struts2教程struts.xml常

2011-08-19 13:13:14

struts2Java

2012-05-10 14:00:06

StrutsjsonJava

2013-07-19 09:36:04

struts2struts2漏洞

2009-06-03 14:19:34

Struts2Guice
點贊
收藏

51CTO技術(shù)棧公眾號