使用DWR实现JS调用服务端Java代码
来源:互联网 发布:mac air切换中文输入法 编辑:程序博客网 时间:2024/06/05 00:29
DWR简介
DWR全称Direct Web Remoting,是一款非常优秀的远程过程调用(Remote Procedure Call)框架,通过浏览器提供的Ajax引擎实现在前端页面的JS代码中调用服务端Java代码。使用它我们可以非常方便的和服务端进行交互,轻松获取服务端返回的数据。
下面是DWR官方网站地址:
http://www.directwebremoting.org/dwr/introduction/index.html
DWR的使用
接下来我们看一下如何使用这款框架:
1.获取DWR所需Jar包
要想使用dwr框架,我们首先需要获取dwr框架的jar包,读者可以从官网中获取,
官网下载地址:http://www.directwebremoting.org/dwr/downloads/index.html
点击dwr.jar进行下载即可,除此之外dwr依赖的commons-logging.jar日志工具包我们可以从Maven资源库下载:
http://mvnrepository.com/artifact/commons-logging/commons-logging
笔者选择的版本为1.1.2版。
下载完成后將两个jar包拷贝到web工程的WEB-INF/lib目录下。
2.在web.xml文件中配置DwrServlet
打开web工程WEB-INF目录下的web.xml文件,配置处理请求的Servlet,具体内容如下:
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
2.创建dwr配置文件dwr.xml
在web.xml所在目录下创建dwr的配置文件dwr.xml,配置文件内容如下:
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
在dwr.xml文件中我们通过allow标签定义了一个支持JS调用的服务端的类com.csii.dwr.service.HelloWorldService
,接下来的工作就是编写HelloWorldService类。
3.创建支持JS调用的服务器端的Java类
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
在HelloWorldService 类中我们定义了一个sayHello方法,该方法返回一个字符串。在JS中我们就可以通过helloworldService.sayHello(str)形式直接调用服务器端定义的函数。
4.查看服务端公开的支持JS调用的服务
部署应用后,在浏览器中输入http://localhost:8080/dwr_web/dwr/可以查看服务端公开了哪些支持JS调用的服务。
可以看到我们在dwr配置文件dwr.xml中定义的helloworldService,点击连接可以进入服务的测试界面。
这里我们可以测试sayHello方法。在文本框中输入内容,点击Execute按钮即可。
5.在JS调用公开的服务
要想在JS中调用服务端公开的服务,我们需要將engine.js和helloworldService.js引入到页面中(上图测试界面有相关说明),引入代码上如下:
- 1
- 2
接下来我们编写一个JSP页面,在JSP中使用helloworldService服务:
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
我们在页面中添加了一个按钮,点击按钮是调用sayHello方法,在sayHello方法中通过helloworldService.sayHello("Rongbo_J",callBack)
形式调用服务端sayHello函数,第二个参数是一个回调函数用于接收服务端返回的数据。在回调函数中我们弹出服务器端返回的内容。
在浏览器中预览效果如下:
可以看到服务端返回的数据HelloWorld!Rongbo_J
- 使用DWR实现JS调用服务端Java代码
- 使用DWR实现JS调用服务端Java代码
- 使用DWR实现JS调用JAVA类的简单例子
- js调用服务端代码
- webservice客户端(使用java代码调用服务端)
- dwr js与java互相调用
- dwr+maven实现java和js方法互相调用,实现推送, 完整切超简单例子
- DWR推送和js访问java代码
- ScriptEngine使用java调用js代码
- 使用DWR在js中调用Java类,检验用户的唯一性
- 在DWR调用的java代码中使用Session,Request,Response等
- 在DWR调用的java代码中使用Session,Request,Response等
- JS调用Java代码
- android Webview 实现js调用java代码实现Activity跳转
- JS直接调用java后台中的函数——DWR
- asp.net中js调用服务端方法,服务端调用JS,实现无刷新的倒计时
- WebService入门java实现服务端接口调用
- DWR javascript调用java
- MYSQL数据库爆库爆表爆字段
- android使用ViewPage实现Grally画廊的卡片式效果
- 旧项目中集成shiro的密码处理
- 程序员学习能力提升三要素
- Face ID,iPhone X的杀手锏
- 使用DWR实现JS调用服务端Java代码
- java设计模式:抽象工厂模式
- shell getopts使用
- hdu 5980 Find Small A(二进制位运算)
- 阿里巴巴java开发手册-数据库部分
- Solr之检索建议。
- Android渗透测试工具大合集
- 算法爱好者——数据流中第一个唯一的数字 ? 待解决
- mysql5.7.20tar.gz安装