Eclipse + Struts2.x+Spring2.x+Dwr3.x

2023-10-26

我了解过官网关于 dwr3 的介绍后,发现它介绍的配置 dwr 的方法不是与 spring 结合的。也就是说每次进行 dwr 访问,系统都会重新 new 一个 service 来异步处理我们的请求。这对于简单的功能是没什么问题的,但如果涉及到复杂的逻辑处理,特别是需要 synchronized 的场合,就会出现问题了。所以我在网上专门找把 dwr3 spring 结合的配置方法。现在总结一下配置方法。

 

 

web.xml 的配置:

< servlet >

       < servlet-name > dwr </ servlet-name >

       < servlet-class >

           org.directwebremoting.spring.DwrSpringServlet

       </ servlet-class >

       < init-param >  

           < param-name > debug </ param-name >  

           < param-value > true </ param-value >  

       </ init-param >  

    </ servlet >

    < servlet-mapping >

       < servlet-name > dwr </ servlet-name >

       < url-pattern > /dwr /* </ url-pattern >

    </ servlet-mapping >

注意: org.directwebremoting.spring.DwrSpringServlet dwr2.x 官网介绍的与 spring 结合的那个 servlet 一样 .

 

applicationContext.xml 的配置:

< beans xmlns = "http://www.springframework.org/schema/beans"

    xmlns:xsi = "http://www.w3.org/2001/XMLSchema-instance"

    xmlns:dwr = "http://www.directwebremoting.org/schema/spring-dwr"

    xmlns:context = "http://www.springframework.org/schema/context"

    xmlns:aop = "http://www.springframework.org/schema/aop"

    xsi:schemaLocation = "http://www.springframework.org/schema/beans     

    http://www.springframework.org/schema/beans/spring-beans-2.5.xsd    

    http://www.springframework.org/schema/context     

    http://www.springframework.org/schema/context/spring-context-2.5.xsd

    http://www.directwebremoting.org/schema/spring-dwr

    http://www.directwebremoting.org/schema/ spring-dwr-3.0.xsd

    http://www.springframework.org/schema/aop

    http://www.springframework.org/schema/aop/spring-aop-2.5.xsd" >

 

    <!-- 隐式注册了 AutowiredAnnotationBeanPostProcessor CommonAnnotationBeanPostProcessor -->

    < context:component-scan base-package = " service " />

    <!-- 扫描 spring 注解的类 , 使其成为客户端调用接口 -->

    < dwr:annotation-config />

    <!-- 扫描需要转换的 java 对象 -->

        < dwr:annotation-scan scanRemoteProxy = "false" base-package = " entity " />

    <!-- dwr 初始化配置 -->

    < dwr:configuration ></ dwr:configuration >

   

 

    < bean id = "loginService" class = "service.LoginService" >

       < property name = "sessionFactory" ref = "sessionFactory" ></ property >

    </ bean >

</ beans >

注意:

1.   文件头说明是 dwr3 的应用。

2.   红色字体的“ service ”指出 dwr 调用的服务类所在的包名。 LoginService 是我例子中处理 dwr 请求的服务类,它所在的包名就是“ service ”。

3.   红色字体的“ entity ”指出 dwr 调用传递的类对象的所在的包名。 User 是我例子中 dwr 传递的对象类,它所在的包名就是“ entity ”。

 

LoginService 服务类的定义:

package service;

 

import org.directwebremoting.annotations.RemoteMethod;

import org.directwebremoting.annotations.RemoteProxy;

import org.springframework.orm.hibernate3.support.HibernateDaoSupport;

import org.springframework.stereotype.Service;

 

@Service    

@RemoteProxy

public class LoginService extends HibernateDaoSupport {

 

      

       @RemoteMethod

       public String getService(){

              return this.toString();

       }

}

 

注意:使用的注解与 dwr 官网关于 dwr3 的介绍一样

 

调用 dwr index.jsp 的相关内容如下:

1 <input type="button" value=" 获取 Service 对象 " οnclick="getService()">

 

2 < script type = 'text/javascript' src = '/struts2_spring2_ahibernate3_dwr3/dwr/interface/LoginService.js' ></ script >

< script type = 'text/javascript' src = '/struts2_spring2_ahibernate3_dwr3/dwr/engine.js' ></ script >

 

3 function getService(){

       LoginService.getService( function (result){

           alert(result);

       });

    }

 

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Eclipse + Struts2.x+Spring2.x+Dwr3.x 的相关文章

随机推荐

  • eclipse javaWeb项目如何引入jar包

    eclipse javaWeb项目如何引入jar包 CreateTime 2018年4月19日08 54 24 Author Marydon 1 判断当前jar包是否已经引入到项目当中的3种方式 方式一 WebContent gt WEB
  • SpringBoot的Json转换大小写的坑

    最近搞了一个Springboot mybatis的框架 往前端进行Json格式转换的时候 发现属性的大写首字母变小写了 这极大的不方便前后一致性 如是网上一堆乱搜 测试了N多情况 算是把问题解决了 不过坑大 记录如下 1 如果没有使用fas
  • windows 部署多个tomcat详细步骤

    同一台windows设备部署多个tomcat服务器 一 下载tomcat 同时解压三次 分别命名为tomcat 8080 tomcat 8081 tomcat 8082 二 添加环境变量 右键单击我的电脑 gt 选择属性 gt 选择高级 g
  • TensorFlow:实战Google深度学习框架(五)图像识别与卷积神经网络

    第6章 图像识别与卷积神经网络 6 1 图像识别问题简介及经典数据集 6 2 卷积神经网络简介 6 3 卷积神经网络常用结构 6 3 1 卷积层 6 3 2 池化层 6 4 经典卷积神经网络模型 6 4 1 LeNet 5模型 6 4 2
  • 前端 vue 动态星空背景

    需要用的文件里 引入wonder js div div import Wonder from utils wonder mounted new Wonder el wonder dotsNumber 100 lineMaxLength 30
  • 野火&洋桃STM32开发版学习指导完整版

    该文章是我历时一个月整理总结而成 专门针对想要通过野火 洋桃STM32开发板入门stm32的读者 由于csdn编辑限制 该学习指导只包含文字信息 如需查看含图片的完整版可进入我的博客下载页 完整版内容详实 保证您看完该文对野火 洋桃STM3
  • 基于C语言的UDP聊天室项目——网络编程(含源码)

    一 UDP网络编程 准备阶段 1 1项目要求 利用UDP协议 实现一套聊天室软件 服务器端记录客户端的地址 客户端发送消息后 服务器群发给各个客户端软件 1 2实现功能 登录 服务器存储新的客户端的地址 把某个客户端登录的消息发给其它客户端
  • spring 通配符 匹配

    做了一个权限管理系统 需要通过通配符来过滤请求url 在网上找了半天没有找到 后来想到spring本身就带有这个功能 通过查询最终找到了方法 使用该方法 需要引入spring core包 Test public void regexSpri
  • 获取当前日期并给当前日期增加天数 年数 月数

    获取当前时间的 day 用int来保存 Date data order getOrderTime Calendar calendar Calendar getInstance calendar setTime data int i cale
  • 广电大数据用户画像及营销推荐策略(二)——Python实现

    本次大数据项目数据及分析均做脱敏化和保密化 主要分享思路体系 全程用Python实现 数据和代码均不提供 如有建议欢迎讨论 2 数据准备 由于数据中用户收视行为信息数据记录很大 如果对数据不进行分类处理 对所有记录直接采用推荐系统进行推荐
  • 强大的pyquery解析器详解

    在本文中博主将介绍pyquery的知识点 如果你认为BeautifulSoup这个CSS选择器不是那么强大 来认识一下pyquery的强大吧 个人认为BeautifulSoup是一个比较的老的库 已经很久没有更新了 但是现在市面上大多都是B
  • Mac OS X のキーボードショートカット

    概要 記事 Mac OS X 一般的 紹介 使 上 組 合 同時 押 Mac OS X 機能 呼 出 操作 利用 修飾 文字 同時 押 現在選択 範囲 貼 付 command 刻印 C 同時 押 操作 command C 呼 修飾 多数 組
  • Linux LVM 管理测试

    理论基础可参考 https linux cn article 12670 1 html 测试中使用loop设备模拟硬盘 测试添加 扩容 移除等操作 初始化脚本 创建并挂在4个loop设备 模拟4块硬盘 for i in 1 5 do dd
  • DR-CAN的动态系统建模与分析学习笔记(9)一阶系统的频率响应_低通滤波器-Matlab/Simulink分析

    1 2 截止频率的推导 截止频率 当保持输入信号的幅度不变 改变频率使输出信号降至最大值的0 707倍 此时的即为截止频率 它是用来说明频率特性指标的一个特殊频率 3 低通滤波器 积分的拉氏变换是1 s 所以
  • 【Kubernetes系列】工作负载资源之DaemonSet

    文章目录 概述 前提条件 DaemonSet配置 创建 DaemonSet 必需字段 Pod 模板 Pod 选择算符 仅在某些节点上运行 Pod 调度Daemon Pods 通过默认调度器调度 污点和容忍度 与 Daemon Pods 通信
  • 第一章 数据库架构发展历程

    1 架构1 0 单机单库 一个简单的小型网站或者应用背后的架构可以非常简单 数据存储只需要一个mysql instance就能满足数据读取和写入要求 这里忽略数据备份的实例 处于这个阶段的系统 一般会把所有信息存到一个Mysql insta
  • PAT

    1045 快速排序 25分 著名的快速排序算法里有一个经典的划分过程 我们通常采用某种方法取一个元素作为主元 通过交换 把比主元小的元素放到它的左边 比主元大的元素放到它的右边 给定划分后的 N 个互不相同的正整数的排列 请问有多少个元素可
  • H - Unloaded Die

    H Unloaded Diehttps vjudge csgrandeur cn problem Gym 101652U题意 给一个筛子 六个面1 2 3 4 5 6 输入每个面的概率 求更改某个数使期望等于3 5 同时使数据变化尽可能小
  • unity Input.GetTouch

    触摸交互案例 Input GetTouch 0 deltaPosition 获取触摸滑动增量 float num Input GetTouch 0 deltaPosition y 0 003f 使用y值增量例子 其他 单指点击 using
  • Eclipse + Struts2.x+Spring2.x+Dwr3.x

    我了解过官网关于 dwr3 的介绍后 发现它介绍的配置 dwr 的方法不是与 spring 结合的 也就是说每次进行 dwr 访问 系统都会重新 new 一个 service 来异步处理我们的请求 这对于简单的功能是没什么问题的 但如果涉及