DWR的使用-JAVA后端主动通知WEB前端
2018-02-08 17:15
337 查看
添加dwr相关jar包
<dependency> <groupId>org.directwebremoting</groupId> <artifactId>dwr</artifactId> <version>3.0.2-RELEASE</version> </dependency>
添加dwr相关配置
1-web.xml的配置2-dwr.xml的配置
web.xml的配置
<servlet>
<servlet-name>dwr-invoker</servlet-name>
<servlet-class>
org.directwebremoting.servlet.DwrServlet
</servlet-class>
<init-param>
<param-name>debug</param-name>
<param-value>false</param-value>
</init-param>
<init-param>
<param-name>crossDomainSessionSecurity</param-name>
<param-value>false</param-value>
</init-param>
<init-param>
<param-name>allowScriptTagRemoting</param-name>
<param-value>true</param-value>
</init-param>
<init-param>
<param-name>activeReverseAjaxEnabled</param-name>
<param-value>true</param-value>
</init-param>
<init-param>
<param-name>initApplicationScopeCreatorsAtStartup</param-name>
<param-value>true</param-value>
</init-param>
</servlet>
<servlet-mapping>
<servlet-name>dwr-invoker</servlet-name>
<url-pattern>/dwr/*</url-pattern>
</servlet-mapping>
dwr.xml的配置<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE dwr PUBLIC "-//GetAhead Limited//DTD Direct Web Remoting 3.0//EN" "http://getahead.org/dwr/dwr30.dtd">
<dwr>
<allow>
<create creator="new" javascript="dwr">
<param name="class" value="类路径" />
<include method="方法名"/>
</create>
</allow>
</dwr>
JAVA代码
通知前端js:public void notifyWebJS(HttpServletRequest request, HttpServletResponse response) { DwrUtil t = new DwrUtil(); List<String> args = new ArrayList<String>(); args.add("args"); t.invokeJavascriptFunction("webJS",args); }DwrUtil工具类:
public void invokeJavascriptFunction (String _funcName, List _args){
final String funcName = _funcName;
final List args = _args;
Browser.withAllSessions(new Runnable(){
private ScriptBuffer script = new ScriptBuffer();
public void run(){
//拼接javascript
script = script.appendScript(funcName+"(");
for(int i=0; i<args.size(); i++){
if(i != 0){
script = script.appendScript(",");
}
script = script.appendData(args.get(i));
}
script.appendScript(")");
Collection<ScriptSession> sessions = Browser.getTargetSessions();
for (ScriptSession scriptSession : sessions){
scriptSession.addScript(script);
}
}
});
}
前端处理
在页面中要引入的三个js:engine.js、util.js、dwr.js这三个js可以自动生成。
项目启动,访问 http://***/dwr/index.html 可生成。
访问此路径的时候,要先把web.xml dwr的初始化参数debug改为true。
相关文章推荐
- java web后端打算转做前端改如何下手?
- JS分页处理(web前端+后端JAVA)
- 前后端分离的j2ee的web项目,使用vue方式,即{{}}方式批量传入前端参数,遇到一个一个问题,页面上一开始有{{}},怎么处理?
- JavaWeb前端到后端常用框架、插件
- [后端人员耍前端系列]KnockoutJs篇:使用WebApi+Bootstrap+KnockoutJs打造单页面程序
- 航延险项目 java web开发是前端验证好还是后端验证好?
- java web SpringMVC后端传json数据到前端页面
- JavaWeb 后端 <十一> 之 DBUtils 框架 (基本使用 结果集 事务处理 对表读取)
- 小程序minds:从前端发起请求到后端javaweb添加数据库字段
- java web SpringMVC后端传json数据到前端页面实例代码
- JavaWeb常用开发技术总结-js、spring、javabean、mysql数据库、dwr的使用等
- [后端人员耍前端系列]KnockoutJs篇:使用WebApi+Bootstrap+KnockoutJs打造单页面程序
- 前端html向后端java传递数据的几种方式(暂时使用到)
- 使用Python WSGI编写Web服务器前端,并利用Boost.Python在同一进程内连接到C++服务后端实现
- 使用RSA非对称加密完成JavaScript前端分段加密和java后端分段解密
- java web 前端访问后端的几种方式
- Java的Web项目使用DWR简单配置说明
- Java(web前端和后端)中相对路径问题
- 面向 Java 开发人员的 Ajax: 结合 Direct Web Remoting 使用 Ajax
- 面向Java开发人员的Ajax:结合Direct Web Remoting使用Ajax