JS直接调用java后台中的函数——DWR

来源:互联网 发布:2016最新癌症数据统计 编辑:程序博客网 时间:2024/06/05 23:56

dwr可以使得在js中使用Java类,并且可以声明对象。只要在dwr.xml中使用

dwr默认是异步调用的,异步调用的好处就是,你在做一件事的时候,不用等这件事做完,就可以去做下面的事

1、配置xml

<?xml version="1.0" encoding="UTF-8"?><web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xmlns="http://java.sun.com/xml/ns/javaee"xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"id="WebApp_ID" version="3.0"><display-name>DWR</display-name><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><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></servlet><servlet-mapping><servlet-name>dwr-invoker</servlet-name><url-pattern>/dwr/*</url-pattern></servlet-mapping><welcome-file-list><welcome-file>index.jsp</welcome-file></welcome-file-list></web-app>

2、配置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="messagePush"><param name="class">org.dwr.MessagePush</param></create></allow></dwr>
3、java后台函数

package org.dwr;/** *  * @Package org.dwr * @ClassName: MessagePush * @Description: 输出str * @author Tao * @version V1.0 * @date 2015年12月6日 下午7:08:54 */public class MessagePush {public void send(String str) {System.out.println(str);}public String getSomething(String str) {return "index";}public String print() {String str = "welcome to me";return str;}}
4、主页面

<%@ page language="java" contentType="text/html; charset=ISO-8859-1"pageEncoding="UTF-8"%><!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"><html><head><meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"><title>DWR</title><script type="text/javascript" src="js/jquery-1.11.1.js"></script><script type="text/javascript" src="dwr/util.js"></script><script type="text/javascript" src="dwr/engine.js"></script><span style="color:#ff0000;"><script type="text/javascript" src="dwr/interface/messagePush.js"></script>//首字母小写</span></head><body><table border="0"><tr><td><input id="content" type="text" /></td><td><input id="send" type="button" value="send" /></td></tr></table><script type="text/javascript">var index = "";$("#send").click(function() {var content = $("#content").val();messagePush.send(content);//在命令行打印东西var me = messagePush.print();$("#content").val(me);messagePush.getSomething(content, callBackH);//回调函数alert(index);});function callBackH(data) {index = data;}</script></body></html>

5、别忘记导入lib包

commons-logging-1.0.4.jar

dwr.jar

同时前台页面的js不需要导入


0 0