日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

DWR框架小例子

發布時間:2025/3/17 编程问答 26 豆豆
生活随笔 收集整理的這篇文章主要介紹了 DWR框架小例子 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

2019獨角獸企業重金招聘Python工程師標準>>>

[1].什么是DWR框架:

DWR(Direct Web Remoting)是一個用于改善web頁面與Java類交互的遠程服務器端Ajax開源框架,可以幫助開發人員開發包含AJAX技術的網站。

它可以允許在瀏覽器里的代碼使用運行在WEB服務器上的JAVA函數,就像它就在瀏覽器里一樣。

DWR(Direct Web Remoting)是一個用于改善web頁面與Java類交互的遠程服務器端Ajax開源框架,可以幫助開發人員開發包含AJAX技術的網站。

它可以允許在瀏覽器里的代碼使用運行在WEB服務器上的JAVA函數,就像它就在瀏覽器里一樣。

[2].DWR的安裝:

01.導入DWR的JAR包

<dependency>

<groupId>org.directwebremoting</groupId>

<artifactId>dwr</artifactId>

<version>3.0.M1</version>

</dependency>

02.配置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>true</param-value>

</init-param>

<load-on-startup>1</load-on-startup>

</servlet>

<servlet-mapping>

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

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

</servlet-mapping>

03.配置dwr.xml該文件放在WEB-INF目錄中

<?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">

<param name="class" value="com.edu.dwr.MyDwr"/>

</create>

</allow>

</dwr>

將一個Java類共享成一個JS類。

04.在頁面引入相應的javascript

<script type="text/javascript" src="<%=path %>/dwr/engine.js"></script>

<script type="text/javascript" src="<%=path %>/dwr/util.js"></script>

<script type="text/javascript" src="<%=path %>/dwr/interface/MyDwr.js"></script>

package com.edu.dwr;

public class MyDwr {

public String hello(String str){

System.out.println(str);

return str ;

}

ublic User load(){

User user = new User(10,"LIUTAO","123456",new Group(1012,"人事部")) ;

return user ;

}

public List<User> list(){

List<User> users = new ArrayList<User>() ;

users.add(new User(11,"LIUTAO","123456",new Group(1012,"人事部"))) ;

users.add(new User(11,"ZHANGSAN","123456",new Group(1012,"教程部"))) ;

users.add(new User(11,"LIUMENG","123456",new Group(1012,"內務部"))) ;

users.add(new User(11,"WNAGWU","123456",new Group(1012,"財務部"))) ;

return users ;

}

public void add(User user){

System.out.println(user);

}

public void deleteUser(){

throw new UserException("沒有傳ID參數") ;

}

}

JSP頁面中調用方法:

<script type="text/javascript">

function load(){

MyDwr.load(function loadUser(user){

alert(user.id+" ?"+user.group.groupName);

}) ;

}

function list(){

MyDwr.list(function (data){

for(var i=0 ; i<data.length ; i++){

var user = data[i] ;

console.info(user);

}

});

}

var user = {id:15,username:"張三",password:"123456",group:{id:1016,groupName:"信息部"}};

function addUser(){

MyDwr.add(user);

}

function removeUser(){

MyDwr.deleteUser({

callback:function(data){

},

errorHandler : function (msg,exception){

alert(msg);

alert(exception.javaClassName);

// 自帶工具方法打印異常信息

alert(dwr.util.toDescriptiveString(exception,2));

}

}) ;

}

</script>

[3].DWR中的轉換器

<!--轉換Java類-->

<convert match="com.edu.dwr.User" converter="bean"/>

<convert match="com.edu.dwr.Group" converter="bean"/>

<!--轉換異常類-->

<convert match="java.lang.Exception" converter="exception"/>

<convert match="java.lang.StackTraceElement" converter="bean"/>

[4].web.xml中開啟

<init-param>

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

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

</init-param>

可測試和查看已公布dwr方法:訪問方法 http://172.168.1.48:8888/sypro/dwr/index.html sypro是項目名稱


轉載于:https://my.oschina.net/liu13430/blog/392260

總結

以上是生活随笔為你收集整理的DWR框架小例子的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。