Java学习者论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

手机号码,快捷登录

恭喜Java学习者论坛(https://www.javaxxz.com)已经为数万Java学习者服务超过8年了!积累会员资料超过10000G+
成为本站VIP会员,下载本站10000G+会员资源,购买链接:点击进入购买VIP会员
JAVA高级面试进阶视频教程Java架构师系统进阶VIP课程

分布式高可用全栈开发微服务教程

Go语言视频零基础入门到精通

Java架构师3期(课件+源码)

Java开发全终端实战租房项目视频教程

SpringBoot2.X入门到高级使用教程

大数据培训第六期全套视频教程

深度学习(CNN RNN GAN)算法原理

Java亿级流量电商系统视频教程

互联网架构师视频教程

年薪50万Spark2.0从入门到精通

年薪50万!人工智能学习路线教程

年薪50万!大数据从入门到精通学习路线年薪50万!机器学习入门到精通视频教程
仿小米商城类app和小程序视频教程深度学习数据分析基础到实战最新黑马javaEE2.1就业课程从 0到JVM实战高手教程 MySQL入门到精通教程
查看: 754|回复: 0

DWR+Spring+Hibernate的整合

[复制链接]

该用户从未签到

发表于 2011-9-14 16:42:26 | 显示全部楼层 |阅读模式
这两天一直在看DWR,在做整合的时候出现了一些问题,困扰了我很久!我上网查了很多资料,但是收获不多,今天在别人的指导下搞定了,所以把我做的发出来大家共享,以后遇到了就很好做了。主要是搞清楚各个配置文件怎么写,特别是dwr.xml中的那些参数,我知道的都写上了,如果不完整大家可以留言。
先说一下我这个demo的流程。在页面输入一个数据库表里的名字,然后在页面上显示与这个名字对应的数据库表中的年龄。下面的代码中我没有写dao层的代码,很简单大家自己写吧。
1.下面是web.xml配置文件中的部分代码:
<!-- 配置Spring-->
<context-param>
  <param-name>contextConfigLocation</param-name>
  <param-value>/WEB-INF/applicationContext.xml</param-value>
</context-param>
<listener>   
       <listener-class>   
             org.springframework.web.context.ContextLoaderListener   
       </listener-class>   
  </listener>
  <!-- 配置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>true</param-value>
   </init-param>
该配置指定了DWR中的一个服务Servlet,开启debug模式,debug模式下URL在上下文后面加上 /dwr/ 就可以访问DWR自动生成debug页面。
  </servlet>
  <servlet-mapping>
   <servlet-name>dwr-invoker</servlet-name>
   <url-pattern>/dwr/*</url-pattern>
  </servlet-mapping>
2.下面就要配置dwr.xml,新建一个xml文件,写入下面的代码
<dwr>
<allow>
  <create javascript="DWRUser" creator="spring">
   <param name="beanName" value="DWRUser"/>
  </create>
</allow>
</dwr>
creator属性的值可以是new,struts,spring......因为此处是整合spring来做的,所以设置成“spring”,javascript="DWRUser" 表示实例转换成javascript语言后以DWRUser命名,前台页面可以通过代码(<script type='text/javascript' src='../../dwr/interface/DWRUser.js'></script>)来调用。param元素的name属性值可以是class,beanName等,此处用beanName,value得值是定义在applicationContext.xml中某个bean的id值。
3.接下来是Spring的配置文件。下面是我用到的两个bean 的代码,其它的数据库链接和Hibernate配置就自己完成吧
<bean id="dao" class="wj.dao.HelloWorld">
  <property name="sessionFactory">
   <ref bean="sessionFactory"/>
  </property>
</bean>
<bean id="DWRUser" class="wj.service.HelloWorldSevice">
  <property name="hello">
   <ref bean="dao"/>
  </property>
</bean>
4.然后就是Service层的代码,这里的方法就是在页面中要调用的
package wj.service;
import wj.dao.HelloWorld;
public class HelloWorldSevice {
//dao层注入
private HelloWorld hello;
public HelloWorld getHello() {
  return hello;
}
public void setHello(HelloWorld hello) {
  this.hello = hello;
}
public String HelloService(String name){
  return hello.sayHello(name);//调用dao层的方法
}
}
5.页面代码
在页面中首先写入以下代码,这些代码在DWR自动生成的debug页面中可以得到
<script type='text/javascript' src='/DWRSecond/dwr/interface/DWRUser.js'></script>
<script type='text/javascript' src='/DWRSecond/dwr/engine.js'></script>
<script type='text/javascript' src='/DWRSecond/dwr/util.js'></script>
以下是具体的调用
<script type="text/javascript">
  function first()
  {
   DWRUser.HelloService($("name").value,callback);
  }
  function callback(data)
  {
   document.getElementById("msg1").innerHTML = data;
  }
</script>
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|手机版|Java学习者论坛 ( 声明:本站资料整理自互联网,用于Java学习者交流学习使用,对资料版权不负任何法律责任,若有侵权请及时联系客服屏蔽删除 )

GMT+8, 2024-5-4 06:42 , Processed in 0.539761 second(s), 52 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表