spring3.1.1与hibernate4.1.5与struts2.3.4集成

spring3.1.1与hibernate4.1.5与struts2 2.3.4集成

1. 使用myeclipse新建一个web工程。

2. 然后把spring3.1.1 , hibernate4.1.5 , struts2.3.4的jar包放到web工程的WEB-INF/lib目录下。

jar包如下:

spring3.1.1

org.springframework.aop-3.1.1.RELEASE.jar

org.springframework.asm-3.1.1.RELEASE.jar

org.springframework.aspects-3.1.1.RELEASE.jar

org.springframework.beans-3.1.1.RELEASE.jar

org.springframework.context-3.1.1.RELEASE.jar

org.springframework.context.support-3.1.1.RELEASE.jar

org.springframework.core-3.1.1.RELEASE.jar

org.springframework.expression-3.1.1.RELEASE.jar

org.springframework.instrument-3.1.1.RELEASE.jar

org.springframework.jdbc-3.1.1.RELEASE.jar

org.springframework.orm-3.1.1.RELEASE.jar

org.springframework.oxm-3.1.1.RELEASE.jar

org.springframework.test-3.1.1.RELEASE.jar

org.springframework.transaction-3.1.1.RELEASE.jar

org.springframework.web-3.1.1.RELEASE.jar

org.springframework.web.portlet-3.1.1.RELEASE.jar

org.springframework.web.servlet-3.1.1.RELEASE.jar

org.springframework.web.struts-3.1.1.RELEASE.jar

还需要第三方的信依懒包(需要自己手动下载),主要有下列jar包:

aopalliance.jar

aspectjweaver.jar

commons-dbcp-1.4.jar

commons-pool-1.6.jar

cglib-nodep-2.1_3.jar

commons-logging-1.1.1.jar

asm-3.3.1.jar

asm-commons-3.3.1.jar

asm-util-3.3.1.jar

hibernate4.1.5

antlr-2.7.7.jar dom4j-1.6.1.jar

hibernate-commons-annotations-4.0.1.Final.jar

hibernate-core-4.1.5.Final.jar

hibernate-jpa-2.0-api-1.0.1.

Final.jar javassist-3.15.0-GA.jar

jboss-logging-3.1.0.GA.jar

jboss-transaction-api_1.1_spec-1.0.0.Final.jar

struts2.3.4

xwork-core-2.3.4.jar

commons-fileupload-1.2.2.jar

freemarker-2.3.19.jar

ognl-3.0.5.jar

struts2-core-2.3.4.jar

commons-io-2.0.1.jar

commons-lang3-3.1.jar

struts2-spring-plugin-2.3.4.jar

3. 设置web.xml , beans.xml , struts.xml文件

web.xml

<?xml version="1.0" encoding="UTF-8"?>

Xml代码 复制代码 收藏代码
  1. <web-app version="2.5"
  2. xmlns="http://java.sun.com/xml/ns/javaee"
  3. xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  4. xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
  5. http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">
  6. <welcome-file-list>
  7. <welcome-file>index.jsp</welcome-file>
  8. </welcome-file-list>
  9. <filter>
  10. <filter-name>struts2</filter-name>
  11. <filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class>
  12. </filter>
  13. <filter-mapping>
  14. <filter-name>struts2</filter-name>
  15. <url-pattern>/*</url-pattern>
  16. </filter-mapping>
  17. <listener>
  18. <listener-class>
  19. org.springframework.web.context.ContextLoaderListener
  20. </listener-class>
  21. </listener>
  22. <context-param>
  23. <param-name>contextConfigLocation</param-name>
  24. <param-value>classpath:/beans.xml</param-value>
  25. </context-param>
  26. </web-app>
<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>
 
	 
  <filter>
    <filter-name>struts2</filter-name>
    <filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class>
  </filter>

  <filter-mapping>
      <filter-name>struts2</filter-name>
      <url-pattern>/*</url-pattern>
  </filter-mapping>  
  
  <listener>

      <listener-class>
          org.springframework.web.context.ContextLoaderListener
      </listener-class>
  </listener>
  
  <context-param>
  	  <param-name>contextConfigLocation</param-name>
  	  <param-value>classpath:/beans.xml</param-value>
  </context-param>
  
</web-app> 

beans.xml

Java代码 复制代码 收藏代码
  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <beans xmlns="http://www.springframework.org/schema/beans"
  3. xmlns:context="http://www.springframework.org/schema/context"
  4. xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:tx="http://www.springframework.org/schema/tx"
  5. xmlns:aop="http://www.springframework.org/schema/aop"
  6. xsi:schemaLocation="http://www.springframework.org/schema/beans
  7. http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
  8. http://www.springframework.org/schema/context
  9. http://www.springframework.org/schema/context/spring-context-3.0.xsd
  10. http://www.springframework.org/schema/tx
  11. http://www.springframework.org/schema/tx/spring-tx-3.0.xsd
  12. http://www.springframework.org/schema/aop
  13. http://www.springframework.org/schema/aop/spring-aop-3.0.xsd
  14. ">
  15. <context:annotation-config />
  16. <context:component-scan base-package="com.buy" />
  17. <bean id="userDaoImpl" class="com.buy.user.UserDAOImpl">
  18. <!-- <property name="dataSource" ref="dataSource"></property> -->
  19. </bean>
  20. <bean id="useService" class="com.buy.user.UserServiceImpl">
  21. <property name="userDAO" ref="userDaoImpl" />
  22. </bean>
  23. <bean id="userAction" class="com.buy.user.UserAction" scope="singleton" autowire="byName">
  24. <property name="userService" ref="useService"></property>
  25. </bean>
  26. <bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource"
  27. destroy-method="close">
  28. <property name="driverClassName" value="com.mysql.jdbc.Driver">
  29. </property>
  30. <property name="url" value="jdbc:mysql://localhost:3306/buy360">
  31. </property>
  32. <property name="username" value="root"></property>
  33. <property name="password" value="root"></property>
  34. </bean>
  35. <bean id="sessionFactory"
  36. class="org.springframework.orm.hibernate4.LocalSessionFactoryBean">
  37. <property name="dataSource" ref="dataSource"></property>
  38. <property name="annotatedClasses">
  39. <list>
  40. <value>com.buy.user.Event</value>
  41. </list>
  42. </property>
  43. <property name="hibernateProperties">
  44. <value>
  45. hibernate.dialect=org.hibernate.dialect.MySQL5Dialect
  46. hibernate.show_sql=true
  47. hibernate.current_session_context_class=thread
  48. </value>
  49. </property>
  50. </bean>
  51. <bean id="transactionManager"
  52. class="org.springframework.orm.hibernate4.HibernateTransactionManager">
  53. <property name="sessionFactory" ref="sessionFactory"></property>
  54. </bean>
  55. <tx:advice id="txAdvice" transaction-manager="transactionManager">
  56. <tx:attributes>
  57. <tx:method name="ad*" propagation="REQUIRED"/>
  58. </tx:attributes>
  59. </tx:advice>
  60. <!--
  61. <aop:config expose-proxy="true">
  62. <aop:pointcut id="txPointcut" expression="execution(* com.buy.user..*.*(..))" />
  63. <aop:advisor advice-ref="txAdvice" pointcut-ref="txPointcut" />
  64. </aop:config>
  65. -->
  66. </beans>
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
	xmlns:context="http://www.springframework.org/schema/context"
	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:tx="http://www.springframework.org/schema/tx"
	xmlns:aop="http://www.springframework.org/schema/aop"
	xsi:schemaLocation="http://www.springframework.org/schema/beans
		http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
		http://www.springframework.org/schema/context  
		http://www.springframework.org/schema/context/spring-context-3.0.xsd
		http://www.springframework.org/schema/tx 
        http://www.springframework.org/schema/tx/spring-tx-3.0.xsd 
        http://www.springframework.org/schema/aop 
        http://www.springframework.org/schema/aop/spring-aop-3.0.xsd
		">

	<context:annotation-config />
	<context:component-scan base-package="com.buy" />



	<bean id="userDaoImpl" class="com.buy.user.UserDAOImpl">
		<!-- <property name="dataSource" ref="dataSource"></property> -->
	</bean>
	<bean id="useService" class="com.buy.user.UserServiceImpl">
		<property name="userDAO" ref="userDaoImpl" />
	</bean>
	
	<bean id="userAction" class="com.buy.user.UserAction" scope="singleton" autowire="byName">
		<property name="userService" ref="useService"></property>
	</bean>

	<bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource"
		destroy-method="close">
		<property name="driverClassName" value="com.mysql.jdbc.Driver">
		</property>
		<property name="url" value="jdbc:mysql://localhost:3306/buy360">
		</property>
		<property name="username" value="root"></property>
		<property name="password" value="root"></property>
	</bean>


	<bean id="sessionFactory"
		class="org.springframework.orm.hibernate4.LocalSessionFactoryBean">
		<property name="dataSource" ref="dataSource"></property>
		<property name="annotatedClasses">
			<list>
				<value>com.buy.user.Event</value>
			</list>
		</property>
		<property name="hibernateProperties">
			<value>
				hibernate.dialect=org.hibernate.dialect.MySQL5Dialect
				hibernate.show_sql=true
				hibernate.current_session_context_class=thread
			</value>
		</property>
		
	</bean>

	<bean id="transactionManager"
		class="org.springframework.orm.hibernate4.HibernateTransactionManager">
		<property name="sessionFactory" ref="sessionFactory"></property>
	</bean>




	<tx:advice id="txAdvice" transaction-manager="transactionManager">
		<tx:attributes>
			<tx:method name="ad*" propagation="REQUIRED"/>
		</tx:attributes>
	</tx:advice>
	
	
<!-- 	 
	<aop:config expose-proxy="true">
		<aop:pointcut id="txPointcut" expression="execution(* com.buy.user..*.*(..))" />
		<aop:advisor advice-ref="txAdvice" pointcut-ref="txPointcut" />
	</aop:config>
--> 
</beans>

struts.xml

Xml代码 复制代码 收藏代码
  1. <?xml version="1.0" encoding="UTF-8" ?>
  2. <!DOCTYPE struts PUBLIC
  3. "-//Apache Software Foundation//DTD Struts Configuration 2.3//EN"
  4. "http://struts.apache.org/dtds/struts-2.3.dtd">
  5. <struts>
  6. <constant name="struts.devMode" value="true" /> <!-- 设置开发模式 -->
  7. <constant name="struts.action.extension" value="action,do"></constant>
  8. <!-- <constant name="struts.objectFactory" value="spring" /> -->
  9. <package name="default" namespace="/" extends="struts-default">
  10. <action name="test" class="<strong>userAction</strong>" method="validate">
  11. <result>test.jsp</result>
  12. </action>
  13. </package>
  14. </struts>
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE struts PUBLIC
	"-//Apache Software Foundation//DTD Struts Configuration 2.3//EN"
	"http://struts.apache.org/dtds/struts-2.3.dtd">

<struts>
	<constant name="struts.devMode" value="true" />  <!-- 设置开发模式 -->
	<constant name="struts.action.extension" value="action,do"></constant>
    <!-- <constant name="struts.objectFactory" value="spring" /> -->
	
	<package name="default" namespace="/" extends="struts-default">
		
		<action name="test" class="userAction" method="validate">   
 			<result>test.jsp</result>    
		</action>
		
	</package>
	

</struts>

其中struts.xml黑体部分的 "userAction" 一定要是beans.xml文件中对应的bean 的id名字,如:

Java代码 复制代码 收藏代码
  1. <bean id="<strong>userAction</strong>" class="com.buy.user.UserAction" scope="singleton" autowire="byName">
  2. <property name="userService" ref="useService"></property>
  3. </bean>
<bean id="userAction" class="com.buy.user.UserAction" scope="singleton" autowire="byName">
		<property name="userService" ref="useService"></property>
</bean>

要不然会出现下列错误:

Java代码 复制代码 收藏代码
  1. Struts Problem Report
  2. Struts has detected an unhandled exception:
  3. Messages:
  4. File: com/buy/user/UserAction.java
  5. Line number: 127
  6. Stacktraces
  7. java.lang.NullPointerException
  8. com.buy.user.UserAction.validate(UserAction.java:127)
  9. sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
  10. sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
  11. sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
  12. java.lang.reflect.Method.invoke(Method.java:597)
  13. com.opensymphony.xwork2.DefaultActionInvocation.invokeAction(DefaultActionInvocation.java:453)
  14. com.opensymphony.xwork2.DefaultActionInvocation.invokeActionOnly(DefaultActionInvocation.java:292)
  15. com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:255)
  16. org.apache.struts2.interceptor.debugging.DebuggingInterceptor.intercept(DebuggingInterceptor.java:256)
  17. com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:249)
  18. com.opensymphony.xwork2.interceptor.DefaultWorkflowInterceptor.doIntercept(DefaultWorkflowInterceptor.java:176)
  19. com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:98)
  20. com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:249)
  21. com.opensymphony.xwork2.validator.ValidationInterceptor.doIntercept(ValidationInterceptor.java:265)
  22. org.apache.struts2.interceptor.validation.AnnotationValidationInterceptor.doIntercept(AnnotationValidationInterceptor.java:68)
  23. com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:98)
  24. com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:249)
  25. com.opensymphony.xwork2.interceptor.ConversionErrorInterceptor.intercept(ConversionErrorInterceptor.java:138)
  26. com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:249)
  27. com.opensymphony.xwork2.interceptor.ParametersInterceptor.doIntercept(ParametersInterceptor.java:211)
  28. com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:98)
  29. com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:249)
  30. com.opensymphony.xwork2.interceptor.ParametersInterceptor.doIntercept(ParametersInterceptor.java:211)
  31. com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:98)
  32. com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:249)
  33. com.opensymphony.xwork2.interceptor.StaticParametersInterceptor.intercept(StaticParametersInterceptor.java:190)
  34. com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:249)
  35. org.apache.struts2.interceptor.MultiselectInterceptor.intercept(MultiselectInterceptor.java:75)
  36. com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:249)
  37. org.apache.struts2.interceptor.CheckboxInterceptor.intercept(CheckboxInterceptor.java:90)
  38. com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:249)
  39. org.apache.struts2.interceptor.FileUploadInterceptor.intercept(FileUploadInterceptor.java:243)
  40. com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:249)
  41. com.opensymphony.xwork2.interceptor.ModelDrivenInterceptor.intercept(ModelDrivenInterceptor.java:100)
  42. com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:249)
  43. com.opensymphony.xwork2.interceptor.ScopedModelDrivenInterceptor.intercept(ScopedModelDrivenInterceptor.java:141)
  44. com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:249)
  45. com.opensymphony.xwork2.interceptor.ChainingInterceptor.intercept(ChainingInterceptor.java:145)
  46. com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:249)
  47. com.opensymphony.xwork2.interceptor.PrepareInterceptor.doIntercept(PrepareInterceptor.java:171)
  48. com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:98)
  49. com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:249)
  50. com.opensymphony.xwork2.interceptor.I18nInterceptor.intercept(I18nInterceptor.java:176)
  51. com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:249)
  52. org.apache.struts2.interceptor.ServletConfigInterceptor.intercept(ServletConfigInterceptor.java:164)
  53. com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:249)
  54. com.opensymphony.xwork2.interceptor.AliasInterceptor.intercept(AliasInterceptor.java:192)
  55. com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:249)
  56. com.opensymphony.xwork2.interceptor.ExceptionMappingInterceptor.intercept(ExceptionMappingInterceptor.java:187)
  57. com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:249)
  58. org.apache.struts2.impl.StrutsActionProxy.execute(StrutsActionProxy.java:54)
  59. org.apache.struts2.dispatcher.Dispatcher.serviceAction(Dispatcher.java:511)
  60. org.apache.struts2.dispatcher.ng.ExecuteOperations.executeAction(ExecuteOperations.java:77)
  61. org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter.doFilter(StrutsPrepareAndExecuteFilter.java:91)
  62. org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
  63. org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
  64. org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
  65. org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175)
  66. org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
  67. org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
  68. org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
  69. org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:263)
  70. org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844)
  71. org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:584)
  72. org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)
  73. java.lang.Thread.run(Thread.java:662)
  74. You are seeing this page because development mode is enabled. Development mode, or devMode, enables extra debugging behaviors and reports to assist developers. To disable this mode, set:
  75. struts.devMode=false
  76. in your WEB-INF/classes/struts.properties file.
Struts Problem Report

Struts has detected an unhandled exception:

Messages:	
File:	com/buy/user/UserAction.java
Line number:	127
Stacktraces

java.lang.NullPointerException
    com.buy.user.UserAction.validate(UserAction.java:127)
    sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
    sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    java.lang.reflect.Method.invoke(Method.java:597)
    com.opensymphony.xwork2.DefaultActionInvocation.invokeAction(DefaultActionInvocation.java:453)
    com.opensymphony.xwork2.DefaultActionInvocation.invokeActionOnly(DefaultActionInvocation.java:292)
    com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:255)
    org.apache.struts2.interceptor.debugging.DebuggingInterceptor.intercept(DebuggingInterceptor.java:256)
    com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:249)
    com.opensymphony.xwork2.interceptor.DefaultWorkflowInterceptor.doIntercept(DefaultWorkflowInterceptor.java:176)
    com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:98)
    com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:249)
    com.opensymphony.xwork2.validator.ValidationInterceptor.doIntercept(ValidationInterceptor.java:265)
    org.apache.struts2.interceptor.validation.AnnotationValidationInterceptor.doIntercept(AnnotationValidationInterceptor.java:68)
    com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:98)
    com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:249)
    com.opensymphony.xwork2.interceptor.ConversionErrorInterceptor.intercept(ConversionErrorInterceptor.java:138)
    com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:249)
    com.opensymphony.xwork2.interceptor.ParametersInterceptor.doIntercept(ParametersInterceptor.java:211)
    com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:98)
    com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:249)
    com.opensymphony.xwork2.interceptor.ParametersInterceptor.doIntercept(ParametersInterceptor.java:211)
    com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:98)
    com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:249)
    com.opensymphony.xwork2.interceptor.StaticParametersInterceptor.intercept(StaticParametersInterceptor.java:190)
    com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:249)
    org.apache.struts2.interceptor.MultiselectInterceptor.intercept(MultiselectInterceptor.java:75)
    com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:249)
    org.apache.struts2.interceptor.CheckboxInterceptor.intercept(CheckboxInterceptor.java:90)
    com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:249)
    org.apache.struts2.interceptor.FileUploadInterceptor.intercept(FileUploadInterceptor.java:243)
    com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:249)
    com.opensymphony.xwork2.interceptor.ModelDrivenInterceptor.intercept(ModelDrivenInterceptor.java:100)
    com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:249)
    com.opensymphony.xwork2.interceptor.ScopedModelDrivenInterceptor.intercept(ScopedModelDrivenInterceptor.java:141)
    com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:249)
    com.opensymphony.xwork2.interceptor.ChainingInterceptor.intercept(ChainingInterceptor.java:145)
    com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:249)
    com.opensymphony.xwork2.interceptor.PrepareInterceptor.doIntercept(PrepareInterceptor.java:171)
    com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:98)
    com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:249)
    com.opensymphony.xwork2.interceptor.I18nInterceptor.intercept(I18nInterceptor.java:176)
    com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:249)
    org.apache.struts2.interceptor.ServletConfigInterceptor.intercept(ServletConfigInterceptor.java:164)
    com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:249)
    com.opensymphony.xwork2.interceptor.AliasInterceptor.intercept(AliasInterceptor.java:192)
    com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:249)
    com.opensymphony.xwork2.interceptor.ExceptionMappingInterceptor.intercept(ExceptionMappingInterceptor.java:187)
    com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:249)
    org.apache.struts2.impl.StrutsActionProxy.execute(StrutsActionProxy.java:54)
    org.apache.struts2.dispatcher.Dispatcher.serviceAction(Dispatcher.java:511)
    org.apache.struts2.dispatcher.ng.ExecuteOperations.executeAction(ExecuteOperations.java:77)
    org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter.doFilter(StrutsPrepareAndExecuteFilter.java:91)
    org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
    org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
    org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
    org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175)
    org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
    org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
    org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
    org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:263)
    org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844)
    org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:584)
    org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)
    java.lang.Thread.run(Thread.java:662)
    
You are seeing this page because development mode is enabled. Development mode, or devMode, enables extra debugging behaviors and reports to assist developers. To disable this mode, set:

  struts.devMode=false
in your WEB-INF/classes/struts.properties file.

经测试可以通过运行,在集成中的过程中遇到了不少错误 , 欢迎大家一起来讨论学习。实现代码就没有贴出来,主要是配置文件。

转自http://zxsqi.iteye.com/blog/1609412

猜你喜欢

转载自jxdiamond.iteye.com/blog/1654736