- 浏览: 28116 次
- 性别:
- 来自: 北京
最新评论
-
peak:
确实是很多错误,很多以前写的功能都不能用了
spring3.1.1与hibernate4.1.5集成 -
zxsqi:
存在即为合理 写道你们会用到这样的情况吗会用到啊。。。
java调用dll文件 -
存在即为合理:
你们会用到这样的情况吗
java调用dll文件
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"?>
<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
<?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 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名字,如:
<bean id="userAction" class="com.buy.user.UserAction" scope="singleton" autowire="byName"> <property name="userService" ref="useService"></property> </bean>
要不然会出现下列错误:
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.
经测试可以通过运行,在集成中的过程中遇到了不少错误 , 欢迎大家一起来讨论学习。实现代码就没有贴出来,主要是配置文件。
相关推荐
总之,Struts2.3.4 + Spring3.1.1 + Hibernate4.1.0的集成为Java Web应用提供了一个强大而灵活的基础架构,使得开发者可以专注于业务逻辑,而不是底层技术细节。通过深入理解这三个框架及其相互作用,开发者可以构建...
总的来说,Struts2.3.14、Spring3.1.1和Hibernate4.1.0的集成为Java开发者提供了一个功能强大、灵活的开发工具集,能够帮助他们快速构建稳定、高效的企业级Web应用。理解并熟练掌握SSH框架的使用,对于提升Java...
标题中的"Spring3.1.1+struts2.3.4+hibernate4.1 jar包"指的是一个整合了三个主流Java企业级开发框架的库文件集合,分别是Spring 3.1.1、Struts 2.3.4和Hibernate 4.1。这些jar包通常用于构建基于Java的Web应用程序...
SpringMVC + spring3.1.1 + hibernate4.1.0 集成及常见问题总结 SpringMVC + spring3.1.1 + hibernate4.1.0 集成及常见问题总结
SpringMVC + Spring3.1.1 + Hibernate4.1.0 是一个经典的Java Web开发技术栈,用于构建高效、可扩展的企业级应用程序。在这个组合中,SpringMVC作为前端控制器处理HTTP请求,Spring框架提供了服务层管理和依赖注入,...
这个压缩包文件"struts-2.3.1+spring3.1.1+hibernate3.6.9整合&配置文件"提供了将这三个框架整合使用的配置和依赖。下面我们将详细讨论这三个框架以及它们的整合过程。 **Struts 2** 是一个基于MVC设计模式的Java ...
总的来说,Struts2.2.3+Spring3.1.1+Hibernate4.0的整合涉及了Web应用开发中的多个层面,包括MVC架构设计、依赖注入、面向切面编程和持久化管理。理解并掌握这些知识点,对于提升Java EE项目的开发效率和质量至关...
这个压缩包"struts2.3.7+spring3.1.1+hibernate4.1.6"提供了这三个框架的特定版本,适用于构建基于Java的企业级Web应用程序。 **Struts2** 是一个用于构建MVC(Model-View-Controller)架构的开源框架,它是Apache...
Struts2.3.4+Spring3.1.1+JdbcTemplate 整合示例 在Web开发领域,Struts2、Spring和JDBC Template是常见的技术栈,它们各自承担着不同的职责。Struts2是一个强大的MVC框架,用于处理用户请求并控制应用流程;Spring...
标题 "整合struts2.3.4+spring3.1.1+hibernate4.1.3+JPA" 暗示了一个常见的企业级Java应用开发集成框架的搭建过程。这个集成环境将Struts2作为MVC框架,Spring作为服务层管理和依赖注入容器,Hibernate作为持久层...
压缩包中包含的"整合SSH_Struts2.3.4.1+Spring3.1.1+Hibernate4.1.6+mysql.doc"文档很可能是详细的操作指南,包括每一步的配置细节、代码示例和常见问题解答。而"SSH.rar"文件则包含了整个项目的源码,包括Maven或...
在与Struts2和Hibernate集成时,Spring可以作为一个中央调度器,管理和协调其他两个框架的行为。 Struts2.3.1是Struts框架的一个经典版本,它在处理Web应用程序的请求和响应方面表现出色。Struts2的核心是Action类...
5. **数据访问增强**:加强了对JPA、Hibernate和MyBatis等持久层框架的集成,简化了数据访问层的开发。 6. **Web MVC增强**:改进了MVC模块,支持异步处理和更好的URL路径映射。 通过研究这些源码和文档,开发者...
SSH网上购物系统是一个基于Java技术栈的电子商务平台,利用了Struts2、Hibernate和Spring三大框架,这在Java Web开发中被广泛采用。这个项目旨在模仿京东网站的用户界面,提供一个全面的在线购物体验。下面我们将...
标题 "spring3.1.1-mybatis3.1.1-struts2.3.4.1所有整合jar包" 暗示了这是一个用于构建基于Java的Web应用程序的集成框架,其中包含了Spring 3.1.1、MyBatis 3.1.1和Struts2 2.3.4.1的核心库。这些技术都是企业级Java...
之前做android开发,现在搞一下java web的东西,发现hibernate都升到4了,整合一下三个框架,基于最新版的struts2.3.1.2_spring3.1.1_hibernate4.1.2进行整合的,网上看了很多别人的整合,好像多多少少都有点问题,...
Struts2.3.4API帮助文档CHM,张卫(V.Zhang)Struts2.3.4视频教程中生成的CHM文档。...张卫_Struts2.3.4_Hibernate4.1.4_Spring3.1.1视频教程下载地址: http://www.vzhang.net/thread-97-1-1.html
spring3.1.1最新jar包
以前用习惯了Hibernate, 开始接触Mybatis,同样是ORM, MyBatis确实很轻巧,正好也可以自己练练SQL,整合了maven版的spring3.1.1 + mybatis3.1.1,希望对你有帮助。