`

spring json dwr struts2.0 hibernate整合

    博客分类:
  • java
阅读更多

项目所需要用的包(包含常用包):

 antlr-2.7.6.jar
 aopalliance-1.0.jar
 asm-all-3.2.jar
 cglib-2.2.jar
 commons-beanutils-1.8.2.jar
 commons-codec-1.4.jar
 commons-collections-3.2.1.jar
 commons-digester-2.0.jar
 commons-fileupload-1.2.1.jar
 commons-io-1.4.jar
 commons-lang-2.4.jar
 commons-logging-1.1.1.jar
 commons-validator-1.3.1.jar
 dom4j-1.7.jar
 dwr-2.06.jar
 ehcache-1.2.3.jar
 ejb3-persistence.jar
 ezmorph-1.0.3.jar
 freemarker-2.3.15.jar
 hibernate-annotations.jar
 hibernate-commons-annotations.jar
 hibernate-entitymanager.jar
 hibernate-search-3.1.1.GA.jar
 hibernate-validator-4.0.2.GA.jar
 hibernate3.jar
 jakarta-oro-2.0.8.jar
 javassist-3.9.0.GA.jar
 json-lib-2.3-jdk15.jar
 jstl.jar
 jta-1.1.jar
 jtds-1.2.5.jar
 junit-4.8.1.jar
 log4j-1.2.8.jar
 ognl-2.7.3.jar
 org.springframework.aop-3.0.0.RELEASE.jar
 org.springframework.asm-3.0.0.RELEASE.jar
 org.springframework.aspects-3.0.0.RELEASE.jar
 org.springframework.beans-3.0.0.RELEASE.jar
 org.springframework.context-3.0.0.RELEASE.jar
 org.springframework.context.support-3.0.0.RELEASE.jar
 org.springframework.core-3.0.0.RELEASE.jar
 org.springframework.expression-3.0.0.RELEASE.jar
 org.springframework.instrument-3.0.0.RELEASE.jar
 org.springframework.instrument.tomcat-3.0.0.RELEASE.jar
 org.springframework.jdbc-3.0.0.RELEASE.jar
 org.springframework.jms-3.0.0.RELEASE.jar
 org.springframework.orm-3.0.0.RELEASE.jar
 org.springframework.oxm-3.0.0.RELEASE.jar
 org.springframework.test-3.0.0.RELEASE.jar
 org.springframework.transaction-3.0.0.RELEASE.jar
 org.springframework.web-3.0.0.RELEASE.jar
 org.springframework.web.portlet-3.0.0.RELEASE.jar
 org.springframework.web.servlet-3.0.0.RELEASE.jar
 org.springframework.web.struts-3.0.0.RELEASE.jar
 poi-3.5-FINAL-20090928.jar
 proxool-0.9.1.jar
 proxool-cglib.jar
 pull-parser-2.1.10.jar
 slf4j-api-1.5.10.jar
 slf4j-log4j12-1.5.10.jar
 slf4j-nop-1.5.10.jar
 standard.jar
 struts2-convention-plugin-2.1.8.1.jar
 struts2-core-2.1.8.1.jar
 struts2-dwr-plugin-2.1.8.1.jar
 struts2-json-plugin-2.1.8.1.jar
 struts2-spring-plugin-2.1.8.1.jar
 velocity-1.5.jar
 velocity-tools-1.3.jar
 xwork-core-2.1.6.jar


proxool(proxool.properties)配置文件:

 jdbc-0.proxool.alias=DBPool
 jdbc-0.proxool.driver-url=jdbc:jtds:sqlserver://localhost:1433/student
 jdbc-0.proxool.driver-class=net.sourceforge.jtds.jdbc.Driver
 jdbc-0.user=sa
 jdbc-0.password=**********      (哈哈,密码省略)
 jdbc-0.proxool.house-keeping-sleep-time=40000
 jdbc-0.proxool.house-keeping-test-sql=SELECT GETDATE()
 jdbc-0.proxool.maximum-connection-count=100
 jdbc-0.proxool.minimum-connection-count=25
 jdbc-0.proxool.maximum-connection-lifetime=18000000
 jdbc-0.proxool.simultaneous-build-throttle=5
 jdbc-0.proxool.recently-started-threshold=40000
 jdbc-0.proxool.overload-without-refusal-lifetime=50000
 jdbc-0.proxool.maximum-active-time=60000
 jdbc-0.proxool.verbose=true
 jdbc-0.proxool.trace=true
 jdbc-0.proxool.fatal-sql-exception=Fatal error
 jdbc-0.proxool.prototype-count=2
 jdbc-0.proxool.statistics-log-level=ERROR
 jdbc-0.proxool.test-before-use=true
 jdbc-0.proxool.test-after-use=true


DWR(dwr.xml)配置文件:

 <?xml version="1.0" encoding="UTF-8"?>
 <!DOCTYPE dwr PUBLIC "-//GetAhead Limited//DTD Direct Web Remoting 2.0//EN" "http://getahead.org/dwr/dwr20.dtd ">
 <dwr>
  <allow>
   <create creator="spring" javascript="dwrTest">
    <param name="beanName" value="dwrTest" />   <!--Spring配置文件中的bean:aclManager -->
   </create>
  </allow>
 </dwr>


项目配置文件(web.xml)配置文件:

 <?xml version="1.0" encoding="UTF-8"?>
 <web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance "
  xmlns="http://java.sun.com/xml/ns/javaee " xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd "
  xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd "
  id="WebApp_ID" version="2.5">
  <display-name>sshdwr</display-name>
  <welcome-file-list>
   <welcome-file>index.html</welcome-file>
  </welcome-file-list>
 
  <!-- 页面不存在  -->
  <error-page>
   <error-code>404</error-code>
   <location>/pagenotfound.html</location>
  </error-page>

  <!-- 错误页面 -->
  <error-page>
   <exception-type>java.lang.Exception</exception-type>
   <location>/error.html</location>
  </error-page>

  <!-- spring配置文件读取路径-->
  <context-param>
   <param-name>contextConfigLocation</param-name>
   <param-value>/WEB-INF/applicationContext.xml</param-value>
  </context-param>

  <!--增加spring监听(载入Spring ApplicationContext )-->
  <listener>
   <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
  </listener>

  <!-- 扩展spring bean的作用域有request,session,global session等-->
  <listener>
   <listener-class>org.springframework.web.context.request.RequestContextListener</listener-class>
  </listener>

  <!-- Spring 刷新Introspector防止内存泄露 -->
  <listener>
   <listener-class>org.springframework.web.util.IntrospectorCleanupListener</listener-class>
  </listener>

  <!-- spring的session管理-->
  <filter>
   <filter-name>openSessionInViewFilter</filter-name>
   <filter-class>org.springframework.orm.hibernate3.support.OpenSessionInViewFilter</filter-class>

   <init-param>
    <param-name>sessionFactoryBeanName</param-name>
    <param-value>sessionFactory</param-value>
   </init-param>

   <init-param>
    <param-name>singleSession</param-name>
    <param-value>true</param-value>
   </init-param>
  </filter>

  <filter-mapping>
   <filter-name>openSessionInViewFilter</filter-name>
   <url-pattern>/*</url-pattern>
  </filter-mapping>

  <!--struts2.1.8配置-->
  <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>

  <!-- proxool的web监控-->
  <servlet>
   <servlet-name>admin</servlet-name>
   <servlet-class>org.logicalcobwebs.proxool.admin.servlet.AdminServlet</servlet-class>
  </servlet>
  <servlet-mapping>
   <servlet-name>admin</servlet-name>
   <url-pattern>/admin</url-pattern>
  </servlet-mapping>

  <!-- DWR配置-->
  <servlet>
   <servlet-name>dwr</servlet-name>
   <servlet-class>uk.ltd.getahead.dwr.DWRServlet</servlet-class>
   <init-param>
    <param-name>debug</param-name>
    <param-value>true</param-value>
   </init-param>
   <init-param>
    <param-name>scriptCompressed</param-name>
    <param-value>false</param-value>
   </init-param>
   <load-on-startup>1</load-on-startup>
  </servlet>

  <servlet-mapping>
   <servlet-name>dwr</servlet-name>
   <url-pattern>/dwr/*</url-pattern>
  </servlet-mapping>
 </web-app>


Spring(applicationContext.xml)配置文件:

 <?xml version="1.0" encoding="UTF-8"?>
 <beans xmlns="http://www.springframework.org/schema/beans "
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance " xmlns:jee="http://www.springframework.org/schema/jee "
  xmlns:tx="http://www.springframework.org/schema/tx " xmlns:context="http://www.springframework.org/schema/context "
  xsi:schemaLocation="http://www.springframework.org/schema/beans
   http://www.springframework.org/schema/beans/spring-beans-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/jee
   http://www.springframework.org/schema/jee/spring-jee-3.0.xsd
   http://www.springframework.org/schema/context
   http://www.springframework.org/schema/context/spring-context-3.0.xsd ">

  <bean id="propertyConfigurer" class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
   <property name="location" value="/WEB-INF/hibConfig.properties" />
  </bean>

  <bean id="sessionFactory" class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">
   <property name="mappingResources">
    <list>
     <value>com/loverit/project/test/entity/Person.hbm.xml</value>
     <value>com/loverit/project/test/entity/Sex.hbm.xml</value>
    </list>
   </property>

   <property name="hibernateProperties">
    <props>
     <prop key="hibernate.dialect">${hibernate.dialect}</prop>
     <prop key="hibernate.show_sql">${hibernate.show_sql}</prop>
     <prop key="hibernate.jdbc.batch_size">${hibernate.jdbc.batch_size}</prop>
     <prop key="hibernate.cache.use_query_cache">${hibernate.cache.use_query_cache}</prop>
     <prop key="hibernate.cache.provider_class">${hibernate.cache.provider_class}</prop>
    
     <!--
      <prop key="hibernate.hbm2ddl.auto">${hibernate.hbm2ddl.auto}</prop>
     -->
    
     <!-- proxool连接池 -->
     <prop key="hibernate.connection.provider_class">org.hibernate.connection.ProxoolConnectionProvider</prop>
     <prop key="hibernate.proxool.properties">proxool.properties</prop>
     <prop key="hibernate.proxool.pool_alias">DBPool</prop>

    </props>
   </property>

  </bean>

  <!-- 定义事务管理 -->
  <bean id="transactionManager" class="org.springframework.orm.hibernate3.HibernateTransactionManager">
   <property name="sessionFactory"  ref="sessionFactory" />
  </bean>

  <!-- 定义事务管理拦截器 -->
  <bean id="transactionInterceptor" class="org.springframework.transaction.interceptor.TransactionInterceptor">
   <property name="transactionManager" ref="transactionManager" />
   <property name="transactionAttributes">
    <props>
     <prop key="get*">PROPAGATION_REQUIRED,readOnly</prop>
     <prop key="*">PROPAGATION_REQUIRED</prop>
    </props>
   </property>
  </bean>

  <!-- 定义代理自动管理事务 -->
  <bean id="ProxyCreator"  class="org.springframework.aop.framework.autoproxy.BeanNameAutoProxyCreator">
 
   <!-- 指定需要Spring管理事务的Bean -->
   <property name="beanNames">
    <list>
     <value>testService</value>
    </list>
   </property>
   <!-- 调用事务管理拦截器 -->
   <property name="interceptorNames">
    <list>
     <value>transactionInterceptor</value>
    </list>
   </property>
  </bean>
 
  <!-- 测试类(本例未用到) -->
  <bean id="dao" class="com.loverit.framework.dao.DaoImpl">
   <property name="sessionFactory" ref="sessionFactory" />
  </bean>

  <bean id="testService" class="com.loverit.project.test.service.TestService">
   <property name="dao" ref="dao" />
  </bean>

  <bean id="testAction" class="com.loverit.project.test.action.TestAction"  scope="prototype">
   <property name="testService" ref="testService" />
  </bean>

  <!-- DWR测试类 -->
  <bean id="dwrTest" class="com.loverit.project.test.action.DwrTest" >
  </bean>
 </beans>


struts(struts.xml)配置文件:

 <?xml version="1.0" encoding="UTF-8"?>
 <!DOCTYPE struts PUBLIC
  "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
  "http://struts.apache.org/dtds/struts-2.0.dtd ">

 <struts>
  <include file="struts-default.xml" />

  <package name="mytest" extends="struts-default,json-default">
   <action name="tt" class="testAction">
    <result name="query" type="dispatcher">/default.jsp</result>
    <result name="reload"  type="redirect">/tt.action</result>
   </action>
  </package>
 
 </struts>

struts(struts.properties)文本配置文件:

 #是否为struts的开发模式
 struts.devMode=false
 #用URL扩展名来确定是否这个请求是被用作Struts action,其实也就是设置 action的后缀,例如login.do的'do'字。
 struts.action.extension=action
 ##指定Struts 2默认的ObjectFactory Bean,该属性默认值是spring
 struts.objectFactory = spring
 ##指定Spring框架的自动装配模式,该属性的默认值是name,即默认根据Bean的name属性自动装配
 struts.objectFactory.spring.autoWire = name
 ##该属性指定整合Spring框架时,是否缓存Bean实例,该属性只允许使用true和false两个属性值,它的默认值是true。通常不建议修改该属性值。
 struts.objectFactory.spring.useClassCache = true
 #是否加载xml配置(true,false)
 struts.configuration.xml.reload=true
 #国际化信息内码
 struts.i18n.encoding = utf-8
 #是否可以用替代的语法替代tags
 struts.tag.altSyntax=true
 # 不让标签自动生成html代码(没有用的,不可控的)
 struts.ui.theme = simple

log4j(log4j.properties)配置文件:

#是否为struts的开发模式
struts.devMode=false
#用URL扩展名来确定是否这个请求是被用作Struts action,其实也就是设置 action的后缀,例如login.do的'do'字。
struts.action.extension=action
##指定Struts 2默认的ObjectFactory Bean,该属性默认值是spring
struts.objectFactory = spring
##指定Spring框架的自动装配模式,该属性的默认值是name,即默认根据Bean的name属性自动装配
struts.objectFactory.spring.autoWire = name
##该属性指定整合Spring框架时,是否缓存Bean实例,该属性只允许使用true和false两个属性值,它的默认值是true。通常不建议修改该属性值。
struts.objectFactory.spring.useClassCache = true
#是否加载xml配置(true,false)
struts.configuration.xml.reload=true
#国际化信息内码
struts.i18n.encoding = utf-8
#是否可以用替代的语法替代tags
struts.tag.altSyntax=true
# 不让标签自动生成html代码(没有用的,不可控的)
struts.ui.theme = simple


Hibernate(hibConfig.properties)配置文件(此配置参数可以直接在applicationContext.xml中配置,根据个人习惯此处本人单独配置):     

 hibernate.dialect=org.hibernate.dialect.SQLServerDialect
 hibernate.show_sql=true
 hibernate.jdbc.batch_size=20
 hibernate.cache.use_query_cache=true
 hibernate.cache.provider_class=org.hibernate.cache.EhCacheProvider
 hibernate.hbm2ddl.auto=update

Hibernate (ehcache.xml)缓存配置:

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

 <!--  设置cache.data文件存放位置   -->
 <diskStore path="D:\\cache" />

 <!-- eternal 表示缓存是不是永远不超时 -->
 <!--
  timeToLiveSeconds是缓存中每个元素(这里也就是一个POJO)的超时时间
  ,如果eternal="false",超过指定的时间,这个元素就被移走了。
 -->
 <!--
  timeToIdleSeconds是发呆时间,是可选的。当往缓存里面put的元素超过500个时,如果overflowToDisk="true",就会把缓存中的部分数据保存在硬盘上的临时文件里面。
 -->
 <defaultCache maxElementsInMemory="3" eternal="false"
  overflowToDisk="true" timeToIdleSeconds="120" timeToLiveSeconds="120"
  diskPersistent="false" diskExpiryThreadIntervalSeconds="120" />
</ehcache>

DWR(DwrTest.java)测试类:

 public class DwrTest
 {
  public String test (String str)
  {
   System.out.println ("测试DWR!") ;
   return "测试DWR:"+ str;
  }
 }


JSP测试文件(default.jsp):

 <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd ">
 <html>
 <head>
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
 <title>测试DWR</title>
 <script type='text/javascript' src='${pageContext.request.contextPath }/dwr/interface/dwrTest.js'></script>
 <script type='text/javascript' src='${pageContext.request.contextPath }/dwr/engine.js'></script>
 <script type='text/javascript' src='${pageContext.request.contextPath }/dwr/util.js'></script>
 </head>
 <body>
 <a href="javascript:onTest();">测试DWR!</a>
 </body>
 <script type="text/javascript">
  function onTest()
  {
   dwrTest.test("测试数据!", function(data)
   {
    alert(data);
   });
  }
 </script>
 </html>

 

本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/shibingli/archive/2010/02/16/5309694.aspx

分享到:
评论

相关推荐

    ext+Json+dwr+spring+hibernate整合项目实例与资源

    我们一般会使用遵循MVC设计模式的Struts来规范程序结构,使用优秀的ORM组件Hibernate来简化数据库访问操作,使用系统黏合剂Spring来提高开发效率,使用异步访问的Ajax来提高用户体验。而今天我们要做的一个demo是一...

    ssh整合例子(spring3 + struts2 + hibernate4+dwr+ext+json)

    内含 ext+dwr+freemark+jasperreort+ireport+echance+oscache+velocite等技术 展示例子:http://zz563143188.iteye.com/blog/1462413 若要下载chm格式请到http://user.qzone.qq.com/563143188 程序源码下载地址10MB...

    struts2+spring+hibernate+jquery+dwr+json

    网站框架搭建,涉及struts2+jquery+json、dwr、log日志、过滤器、拦截器。

    真实项目:Hibernate3.3.2+Spring3.0+Struts2.2.3+ext3.4.0

    项目配置:Hibernate3.3.2+Spring3.0+Struts2.2.3 + ext3.4.0,真实项目实现,项目中可参考经典权限设计,通用数据录入,批量数据处理(poi),统一的JSON格式封装,灵活的组合模式设计,EXTJS面向组件编程参考......

    c3p0-0.9.1.2等等

    antlr-2.7.6rc1.jar(下面的...spring-jpa-2.0-m2 spring-struts spring-web spring-webmvc sqljdbc struts velocity-1.5 velocity-tools-1.3 xapool xerces-2.6.2 xml-apis (我做毕业设计时,用到的。需要的话拿去用)

    maven-framework-project:基于maven的多框架和多视图融合技术(Struts1,Struts2,Spring,SpringMVC,Hibernate,Ibatis,MyBatis,Spring Data JPA,DWR)

    请移步该项目基于maven3.0构建的,项目中融合了Struts1 , Struts2 , Spring , SpringMVC , Hibernate , Ibatis , MyBatis , Spring Data JPA , Spring JDBC , Spring DWR 。速度视图,freemarker视图,pdf...

    JAVA学习的参考学习流程

    06 开源框架 Struts 1.x --&gt; AJAX --&gt; ECSide报表组件 --&gt; Hibernate --&gt; Spring --&gt; Struts 2.0 --&gt; AJAX框架(DWR、JSON、JQuery) 07 XML 基础语法 --&gt; 解析(DOM/SAX/JDOM) 08 分布式开发 RMI --&gt; EJB 3.0 --&gt; ...

    低清版 大型门户网站是这样炼成的.pdf

    (Struts 2+Spring 2+Hibernate 3).pdf(完整版) 网上有高清版350M的。可以去下 http://115.com/file/be5gwid8 请于下载后 24H 内及时删除!请抱着学习的态度下载此资料。 总共900多页!!!!!!! 第1篇 ...

    流程管理系统,rbac,dwr

    利用Spring的Annotation方式基本达到了零配置,持久层全部使用Hibernate Annotation方式,主要采用的是标准的JPA注解,这样减少了大量的Hibernate映射文件,提高了可维护性,Java与Extjs的通信全部采用JSON格式,...

    ExtJs人力资源管理系统(HRMS)

    我们一般会使用遵循MVC设计模式的Struts来规范程序结构,使用优秀的ORM组件Hibernate来简化数据库访问操作,使用系统黏合剂Spring来提高开发效率,使用异步访问的Ajax来提高用户体验。而今天我们要做的一个demo是一...

    Spring攻略(第二版 中文高清版).part1

    6.3 将Spring与Struts 1.x集成 220 6.3.1 问题 220 6.3.2 解决方案 220 6.3.3 工作原理 220 6.4 将Spring与JSF集成 226 6.4.1 问题 226 6.4.2 解决方案 226 6.4.3 工作原理 227 6.5 将Spring与DWR...

    271个java需要用的jar包

    spring-hibernate3-2.0.8.jar spring-jdbc-3.1.1.RELEASE.jar spring-jdbc-4.1.4.RELEASE.jar spring-mock.jar spring-test-3.0.5.RELEASE.jar spring-tx-3.1.1.RELEASE.jar spring-web-3.0.5.RELEASE.jar spring-...

    Spring攻略(第二版 中文高清版).part2

    6.3 将Spring与Struts 1.x集成 220 6.3.1 问题 220 6.3.2 解决方案 220 6.3.3 工作原理 220 6.4 将Spring与JSF集成 226 6.4.1 问题 226 6.4.2 解决方案 226 6.4.3 工作原理 227 6.5 将Spring与DWR...

    达内java培训目录

    Spring整合Hibernate、Spring整合Struts,SpringMVC技术。 深入理解Ioc和AOP的基本原理和实现方式;熟练掌握SpringIoc及AOP实现方式;熟练掌握Spring事务管理;熟练掌握Spring与其他组件的整合技术。• 实训项目五:...

    常用的jar包

    学习S2SH时,总缺少这样那样的jar,以下是常用的jar包,里面有dwr.jar,json.jar,poi.jar,祝大家学习早日有所成! aopalliance-1.0.jar, api-0.9.4-jdk14.jar,com.google.collect_1.0.0.v201105210816.jar, dwr....

    客户管理系统CRM-13

    开发环境:myEclipse6.5 + jdk1.6 + tomcat...struts1.x + spring 2.x + hibernate 3.x 使用了SSH框架 + DWR + Json 演示地址:http://foart.cn:8080/crm 用户信息: id userName userPW userRole state version

    北大青鸟客户管理系统

    开发环境:myEclipse6.5 + jdk1.6 + tomcat...struts1.x + spring 2.x + hibernate 3.x 使用了SSH框架 + DWR + Json 演示地址:http://foart.cn:8080/crm 用户信息: id userName userPW userRole state version

    客户关系管理系统(CRM)-12

    crm项目,基于SSH框架,有代码,开发文档,...struts1.x + spring 2.x + hibernate 3.x 使用了SSH框架 + DWR + Json 演示地址:http://foart.cn:8080/crm 用户信息: id userName userPW userRole state version

    j2ee-framework

    该项目基于maven3.0构建的,项目中融合了Struts1、Struts2、Spring、SpringMVC、Hibernate、Ibatis、MyBatis、Spring Data JPA、Spring JDBC、Spring DWR。页面展现这里使用Struts1、Struts2、SpringMVC(jsp视图、...

Global site tag (gtag.js) - Google Analytics