ssh和dwr集成的一些步骤

小技巧:
 1>只记每个类的类名,在openType下输入就可以自动显示完整包名类名。
    在该类下有set属性,就可以知道spring配置文件中需要配置哪些属性了
    例如:
  <bean id="transactionManager" class="org.springframework.orm.hibernate3.HibernateTransactionManager">
   <property name="sessionFactory" ref="sessionFactory">
  </bean>
     记住HibernateTransactionManager 在openType中输入类名ecipse就会自动找到该类,
     在该类下有setSessionFactory方法 就可以知道需要注入sessionFactory属性

     同样,记住DwrServlet,在web.xml中配置dwr就很简单了

   2>dwr.xml文件可以在dwr.jar下第一个文件夹下面参照

   3>在jsp页面引入
  <script type="text/javascript" src="dwr/engine.js"></script>
  <script type="text/javascript" src="dwr/util.js"></script>
  <script type="text/javascript" src="dwr/interface/baseService.js"></script>
  可以在dwr配置好之后, 在浏览器输入http://localhost:9000/工程名/dwr 里面就有

   4>**.hbm.xml配置文件 新建一个xml(Basic Templates) ,下一步选择第一个(DTD file),
  取好名字后下一步,选择Select XML Catalog entry, 因为**.hbm.xml是hibenate映射文件
  mapping 就是映射的意思, 现在hibernate是3.0 所以找到有hibernate mapping dtd 3.0的
  选中下一步 OK!

1. 新建工程
2. 创建dataSource
3. 按顺序添加spring,hibernate,struts支持
4. 向lib包中加入pool包 删除asm2.2.3包
5. action继承DispatchActionSupport,service层,dao层继承HibernateDaoSupport,model,**.hbm.xml,form继承actionForm, 具体内容略
6. xml配置,中央控制器略  (严格区分大小写)
 <context-param>
  <param-name>contextConfigLocation</param-name>
  <param-value>classpath*:*.xml</param-value>
 </context-param>
 <listener>
  <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
 </listener>

7.struts-config.xml配置
 配置好form,action,forword就可以了

8。applicationContext.xml配置 (非常重要)
 系统会自动生成dataSource,sessionFactory(不完全)
 1> 在 sessionFactory中配入
  <property name="hibernateProperties">
   <props>
    <prop key="hibernate.dialect">
     org.hibernate.dialect.MySQLDialect
    </prop>
    <prop key="hibernate.show_sql">true</prop>
    <prop key="hibernate.format_sql">true</prop>
    <prop key="hibernate.hbm2ddl.auto">update</prop>
   </props>
  </property>
  
  <property name="mappingResources">
   <list>
    <value>com/wp/model/User.hbm.xml</value>
   </list>
  </property>
 
 2> 配置事务管理
  <bean id="transactionManager" class="org.springframework.orm.hibernate3.HibernateTransactionManager">
   <property name="sessionFactory" ref="sessionFactory">
  </bean>

 3>配置baseDao
  <bean id="baseDao" class="com.wp.dao.hibernate.baseDaoImpl">
   <property name="sessionFactory" ref="sessionFactioy">
  </bean>
 
 4>具体的service实现类
 <bean id="baseServiceTarget" class="com.wp.service.spring.baseServiceImpl">
  <property name="baseDao" ref="baseDao"/>
 </bean>
 
 5>抽象一个父类出来
  <bean id="baseServiceImpl" class="org.springframework.transaction.interceptor.TransactionProxyFactoryBean">
   <property name="transactionManager" ref="transactionManager"/>
   <property name="target" ref="baseServiceTarget"/>
   <property name="transactionAttributes">
    <props>
     <prop key="find*">PROPAGATION_REQUIRED,readOnly</prop>
     <prop key="add*">PROPAGATION_REQUIRED,-Exception</prop>
     .....
    </props>
   </property>
  </bean>

 6>配置实现了事务的service.要调用业务层实例就调用这个
  <bean id="baseService" parent="baseServiceImpl"/>

9. jsp

10.与dwr集成,添加dwr.jar

11. 在web.xml文件中配置dwr
 <servlet>
  <servlet-name>dwr-invoker</servlet-name>
  <servlet-class>org.directwebremoting.servlet.DwrServlet</servlet-class>
  <init-param>
   <param-name>debug</param-name>
   <param-value>ture</param-value>
  </init-param>
 </servlet>
 <servlet-mapping>
  <servlet-name>dwr-invoker</servlet-name>
  <url-pattern>/dwr/*</url-pattern>
 </servlet-mapping>

12. 配置dwr.xml,web-info下
 <dwr>
  <allow>
   <create javascript="baseService" creator="spring">
    <param name="beanName" value="baseService"/>
  </allow>
 </dwr>

13. 在页面中调用

 <script type="text/javascript" src="dwr/engine.js"></script>
 <script type="text/javascript" src="dwr/util.js"></script>
 <script type="text/javascript" src="dwr/interface/baseService.js"></script>
 <script type="text/javascript" src="js/utils.js"></script> 该js文件自建,用于处理

 <input type="button" value="登录" οnclick="isExist()"/>

14.js/utils.js
 function isExist() {
  var username = document.getElementById("username").value;
  var password = document.getElementById("password").value;
  baseService.findByUserPwd(username,password,callback);
 }

 function callback(value) {
  if (value=="failure") {
   document.getElementById("show").innerHTML = "/u7528/u6237/u540d/u6216/u5bc6/u7801/u9519/u8bef";
  } else {
   document.forms[0].submit();
  }
 }

 

 

 

 

 

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值