- 浏览: 407203 次
- 性别:
- 来自: 北京
文章分类
- 全部博客 (268)
- java (22)
- Acegi (8)
- Ajax (17)
- Annotation (3)
- Ant (3)
- JBOSS (6)
- Xdoclet (1)
- CSS (20)
- Data Warehouse (11)
- DB2 (3)
- DOM (1)
- dos (2)
- JMF (1)
- JMS (5)
- J2EE (17)
- Hibernate (7)
- struts (10)
- CORBA (1)
- 职业 (2)
- JSF (1)
- JSTL (8)
- 其它 (1)
- Log4j (7)
- svg (7)
- quartz (3)
- web2.0 (2)
- velocity (2)
- apache commons (1)
- js (9)
- html (4)
- sql (3)
- linux (4)
- dwr (14)
- spring (5)
- GWT (7)
- portlet (4)
- 软件工程 (10)
- actionscript (1)
- 测试 (1)
- tomcat (3)
- flash (0)
- 线程 (1)
- mysql (6)
- flex (1)
- oracle (7)
- crystalreport (4)
- itext (4)
- memcache (2)
- linux 监控 (2)
- mongodb (1)
- Kafka (5)
- 网络 (2)
- 分布式计算 (2)
最新评论
-
chenyongxin:
mark
JBoss 4.0.2集群基本知识及配置方法指南 -
softor:
我找到了,下载吧:http://ishare.iask.sin ...
jad是最简单的class反编译为java文件的小工具 (转载) -
softor:
求下载
dodo@lovehang.com
jad是最简单的class反编译为java文件的小工具 (转载) -
juedui0769:
不错!
请问: 如何在 将 log4j.appender ...
Tomcat 日志 配置 (转载) -
spp_1987:
// 建立一个上传文件的输出流
...
Struts上传多个及N个文件的例子
自己在公司网站开发总用DWR开发的一个简单聊天
本人也是在网站开发地图时有到了这个技术,刚学习DWR半个月
就把随手写的一个简单聊天来给大家共享,切磋一下。
由于考虑到某些局部原因,只发表了一些重要技术方面的资料,没有把全部东西共享。请个人体谅。
由于DWR2.0有个Bug ,我用的DWR1.0,但是,它必须用JDK1.4
dwr.xml文件
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE dwr PUBLIC "-//GetAhead Limited//DTD Direct Web Remoting 1.0//EN" "http://www.getahead.ltd.uk/dwr/dwr10.dtd">
<dwr>
<init></init>
<allow>
<create creator="new" javascript="CityChatsend" scope="session">
<param name="class" value="com.aaa.CharChat.DWR.DWRCityChar_send"/>
<include method="Chat_send"/>
</create>
<create creator="new" javascript="CityChatRead" scope="session">
<param name="class" value="com.aaa.CharChat.DWR.DWRCityChar_Read"/>
<include method="ChatRead"/>
</create>
<create creator="new" javascript="CityChatInit" scope="application">
<param name="class" value="com.aaa.CharChat.DWR.DWRCityChar_Init"/>
<include method="getNew_Old"/>
<include method="setNew_Old"/>
</create>
</allow>
</dwr>
DWRCityChar_send JAVA文件
package com.aaa.CharChat.DWR;
import java.sql.*;
import java.util.*;
import com.db.DatabaseConnection;
import com.aaa.CharChat.initSQL.CityChart_InitSQL;
import java.util.Date;
import java.text.SimpleDateFormat;
/**
*Title : 魅力城市聊天保存初始变量
*Author : JAVA^_^枭龙---孙德华
*Project: 数字城市
*Date : 2006-09-9
**/
public class DWRCityChar_Init
{
private static int now_ChatId=0;
private static String InitSay="[公告^_^]:欢迎大家入住魅力城市^_^";
private static String InitError="[公告^_^]:对不起!系统故障!我们会尽快解决!";
private static String New_Old="0";
public static String getInitError()
{
return InitError;
}
public static String getNew_Old()
{
return New_Old;
}
public static void setNew_Old()
{
New_Old="0";
}
public static synchronized void setInitSay(String Say)
{
InitSay=Say;
}
public static synchronized int getnow_ChatId()
{
if(now_ChatId==0)
{
int temp_ID=getRenow_ChatId();
if(temp_ID>0)
{
setnow_ChatId(temp_ID);
}else
{
startnewChat();
}
}
New_Old="1";//加载聊天记录
return now_ChatId;
}
public static synchronized void setnow_ChatId(int ChatId)
{
now_ChatId=ChatId;
}
public static synchronized void startnewChat()
{
Connection conn=null;
PreparedStatement prepare=null;
try
{
conn=DatabaseConnection.getConnection();
prepare=conn.prepareStatement(CityChart_InitSQL.getinsertnewChat());
Date online=new Date();
SimpleDateFormat fo=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
String riqi=fo.format(online);
prepare.setString(1,riqi);
prepare.setString(2,InitSay);
int result=prepare.executeUpdate();
if(result>0)
{
setnow_ChatId(result);
}
else
{
startnewChat();
}
prepare.close();
conn.close();
}catch(Exception we)
{
System.out.println(we.getMessage());
}finally
{
try
{
if(!conn.isClosed())
{
prepare.close();
conn.close();
}
}
catch(Exception ew)
{
}
}
}
public static int getRenow_ChatId()
{
Connection conn=null;
PreparedStatement prepare=null;
ResultSet result=null;
int Return=0;
try
{
conn=DatabaseConnection.getConnection();
prepare=conn.prepareStatement(CityChart_InitSQL.getselectnewChatId());
result=prepare.executeQuery();
if(result.next())
{
Return=result.getInt("Id");
}
result.close();
prepare.close();
conn.close();
}catch(Exception we)
{
Return=-1;
System.out.println(we.getMessage());
}finally
{
try
{
if(!conn.isClosed())
{
prepare.close();
conn.close();
}
}
catch(Exception ew)
{
}
}
return Return;
}
}
DWRCityChar_send JAVA文件
package com.aaa.CharChat.DWR;
import java.sql.*;
import java.util.*;
import com.db.DatabaseConnection;
import com.aaa.CharChat.DWR.DWRCityChar_Init;
import com.aaa.CharChat.initSQL.CityChart_InitSQL;
/**
*Title : 魅力城市聊天发送
*Author : JAVA^_^枭龙---孙德华
*Project: 数字城市
*Date : 2006-9-9
**/
public class DWRCityChar_send
{
public int Chat_send(String User_name,String Content)
{
int Return=0;
try
{
String result="["+User_name+"]说:"+Content;
int nowId=DWRCityChar_Init.getnow_ChatId();
if(nowId>0)
{
Return=dosend(nowId,result);
}else
{
Return=-2;
}
}catch(Exception we)
{
}
return Return;
}
public int dosend(int nowId,String result)
{
Connection conn=null;
PreparedStatement prepare=null;
PreparedStatement prepare1=null;
ResultSet resu=null;
String Content="";
int Return=0;
try
{
conn=DatabaseConnection.getConnection();
prepare=conn.prepareStatement(CityChart_InitSQL.getselectChatbyId());
prepare1=conn.prepareStatement(CityChart_InitSQL.getupdateChatbyId());
prepare.setInt(1,nowId);
resu=prepare.executeQuery();
if(resu.next())
{
Content=resu.getString("Content");
}
resu.close();
prepare.close();
if(Content.length()>4000)
{
DWRCityChar_Init.startnewChat();
nowId=DWRCityChar_Init.getnow_ChatId();
}
Content=result+"\n"+Content;
prepare1.setString(1,Content);
prepare1.setInt(2,nowId);
Return=prepare1.executeUpdate();
prepare1.close();
conn.close();
}catch(Exception we)
{
Return=-1;
System.out.println(we.getMessage());
}finally
{
try
{
if(!conn.isClosed())
{
prepare.close();
prepare1.close();
conn.close();
}
}
catch(Exception ew)
{
}
}
return Return;
}
}
DWRCityChar_Read java文件
package com.aaa.CharChat.DWR;
import java.sql.*;
import java.util.*;
import com.db.DatabaseConnection;
import com.aaa.CharChat.DWR.DWRCityChar_Init;
import com.aaa.CharChat.initSQL.CityChart_InitSQL;
/**
*Title : 魅力城市聊天发送
*Author : JAVA^_^枭龙---孙德华
*Project: 数字城市
*Date : 2006-9-9
**/
public class DWRCityChar_send
{
public int Chat_send(String User_name,String Content)
{
int Return=0;
try
{
String result="["+User_name+"]说:"+Content;
int nowId=DWRCityChar_Init.getnow_ChatId();
if(nowId>0)
{
Return=dosend(nowId,result);
}else
{
Return=-2;
}
}catch(Exception we)
{
}
return Return;
}
public int dosend(int nowId,String result)
{
Connection conn=null;
PreparedStatement prepare=null;
PreparedStatement prepare1=null;
ResultSet resu=null;
String Content="";
int Return=0;
try
{
conn=DatabaseConnection.getConnection();
prepare=conn.prepareStatement(CityChart_InitSQL.getselectChatbyId());
prepare1=conn.prepareStatement(CityChart_InitSQL.getupdateChatbyId());
prepare.setInt(1,nowId);
resu=prepare.executeQuery();
if(resu.next())
{
Content=resu.getString("Content");
}
resu.close();
prepare.close();
if(Content.length()>4000)
{
DWRCityChar_Init.startnewChat();
nowId=DWRCityChar_Init.getnow_ChatId();
}
Content=result+"\n"+Content;
prepare1.setString(1,Content);
prepare1.setInt(2,nowId);
Return=prepare1.executeUpdate();
prepare1.close();
conn.close();
}catch(Exception we)
{
Return=-1;
System.out.println(we.getMessage());
}finally
{
try
{
if(!conn.isClosed())
{
prepare.close();
prepare1.close();
conn.close();
}
}
catch(Exception ew)
{
}
}
return Return;
}
}
用到的JAVASCRIPT JS文件
/**
*Title : 魅力城市聊天
*Author : JAVA^_^枭龙---孙德华
*Project: 数字城市
*Date : 2006-09-9
**/
var Send_state=0;//发送状态
var Chat_sendTime=500;
var Chat_sendStart;
var Chat_sendEnd;
var Chat_sendstop;
var Chat_result;
var Chat_startWrite;
var Chat_InitStart;
var Chat_Readtime=500;
function Chathotsend()
{
if(event.keyCode==10)
{
ChatSend();
}
}
function getChat_Content()
{
var Content=null;
var obj=document.getElementById('chat_input');//获取聊天内容
if(typeof(obj)=='object')
{
Content=obj.value;
if(Content!=null&&Content.length>400)
{
alert('对不起!你的聊天内容过长,请你说话要简练扼要!');
}
}else
{
Content=null;
alert('程序内部出现异常,抱歉!我们会尽快解决');
}
return Content;
}
function ChatSend()
{
var UserName="";
var obj=document.getElementById('Chat_User_name');//获取聊天内容
if(typeof(obj)=='object')
{
UserName=obj.value;
}else
{
UserName==null;
alert('程序内部出现异常,抱歉!我们会尽快解决');
return;
}
var Content=getChat_Content();
if(Content==null||Content=='')
{
ShowAlert('请您输入聊天内容!');
alert_time=setTimeout('ShowAlertCLose()',alert_showtime);
alert('请您输入聊天内容!');
return;
}
Chat_sendstop=setTimeout('ShowAlert()',Chat_sendTime);
doChatSend(UserName,Content);
var chatobj=document.getElementById('chat_input');
chatobj.value='';
chatobj.focus();
}
function doChatSend(UserName,Content)//聊天发送
{
Chat_sendStart=new Date();
CityChatsend.Chat_send(UserName,Content,Chat_doResult);
}
function Chat_doResult(Return)//结果显示
{
Send_state=Return;
Chat_sendEnd=new Date();
var temp=Chat_sendEnd-Chat_sendStart;
if(temp>50)
{
Chat_sendTime=temp;
}
}
function ShowAlert()
{
clearTimeout(Chat_sendstop);
if(Send_state==-1)
{
alert('聊天提交时,出现数据库插入异常!抱歉!请你重新输入');
}else if(Send_state==-2)
{
alert('对不起!聊天系统出现异常,给你带来不便。在此,我代表AAA国际向你表示抱歉……');
}
}
function ChatInit()
{
setInterval('ChatRead()',Chat_Readtime);
}
function ChatRead()
{
var chat_updiv=document.getElementById('chat_input_updiv');
if(chat_updiv.style.display=='')
{
CityChatRead.ChatRead(getChatContent);
Chat_startWrite=setTimeout('WriteChatContent()',1000);
}
}
function WriteChatContent()
{
clearTimeout(Chat_startWrite);
var obj=document.getElementById('chat_content');
if(typeof(obj)=='object')
{
if(Chat_result!=null&&Chat_result!='')
{
obj.value=Chat_result;
}else
{
obj.value='数据加载中......';
}
}else
{
alert('程序内部出现异常,抱歉!我们会尽快解决');
}
Chat_result=null;
}
function getChatContent(result)
{
Chat_result=result;
}
本人也是在网站开发地图时有到了这个技术,刚学习DWR半个月
就把随手写的一个简单聊天来给大家共享,切磋一下。
由于考虑到某些局部原因,只发表了一些重要技术方面的资料,没有把全部东西共享。请个人体谅。
由于DWR2.0有个Bug ,我用的DWR1.0,但是,它必须用JDK1.4
dwr.xml文件
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE dwr PUBLIC "-//GetAhead Limited//DTD Direct Web Remoting 1.0//EN" "http://www.getahead.ltd.uk/dwr/dwr10.dtd">
<dwr>
<init></init>
<allow>
<create creator="new" javascript="CityChatsend" scope="session">
<param name="class" value="com.aaa.CharChat.DWR.DWRCityChar_send"/>
<include method="Chat_send"/>
</create>
<create creator="new" javascript="CityChatRead" scope="session">
<param name="class" value="com.aaa.CharChat.DWR.DWRCityChar_Read"/>
<include method="ChatRead"/>
</create>
<create creator="new" javascript="CityChatInit" scope="application">
<param name="class" value="com.aaa.CharChat.DWR.DWRCityChar_Init"/>
<include method="getNew_Old"/>
<include method="setNew_Old"/>
</create>
</allow>
</dwr>
DWRCityChar_send JAVA文件
package com.aaa.CharChat.DWR;
import java.sql.*;
import java.util.*;
import com.db.DatabaseConnection;
import com.aaa.CharChat.initSQL.CityChart_InitSQL;
import java.util.Date;
import java.text.SimpleDateFormat;
/**
*Title : 魅力城市聊天保存初始变量
*Author : JAVA^_^枭龙---孙德华
*Project: 数字城市
*Date : 2006-09-9
**/
public class DWRCityChar_Init
{
private static int now_ChatId=0;
private static String InitSay="[公告^_^]:欢迎大家入住魅力城市^_^";
private static String InitError="[公告^_^]:对不起!系统故障!我们会尽快解决!";
private static String New_Old="0";
public static String getInitError()
{
return InitError;
}
public static String getNew_Old()
{
return New_Old;
}
public static void setNew_Old()
{
New_Old="0";
}
public static synchronized void setInitSay(String Say)
{
InitSay=Say;
}
public static synchronized int getnow_ChatId()
{
if(now_ChatId==0)
{
int temp_ID=getRenow_ChatId();
if(temp_ID>0)
{
setnow_ChatId(temp_ID);
}else
{
startnewChat();
}
}
New_Old="1";//加载聊天记录
return now_ChatId;
}
public static synchronized void setnow_ChatId(int ChatId)
{
now_ChatId=ChatId;
}
public static synchronized void startnewChat()
{
Connection conn=null;
PreparedStatement prepare=null;
try
{
conn=DatabaseConnection.getConnection();
prepare=conn.prepareStatement(CityChart_InitSQL.getinsertnewChat());
Date online=new Date();
SimpleDateFormat fo=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
String riqi=fo.format(online);
prepare.setString(1,riqi);
prepare.setString(2,InitSay);
int result=prepare.executeUpdate();
if(result>0)
{
setnow_ChatId(result);
}
else
{
startnewChat();
}
prepare.close();
conn.close();
}catch(Exception we)
{
System.out.println(we.getMessage());
}finally
{
try
{
if(!conn.isClosed())
{
prepare.close();
conn.close();
}
}
catch(Exception ew)
{
}
}
}
public static int getRenow_ChatId()
{
Connection conn=null;
PreparedStatement prepare=null;
ResultSet result=null;
int Return=0;
try
{
conn=DatabaseConnection.getConnection();
prepare=conn.prepareStatement(CityChart_InitSQL.getselectnewChatId());
result=prepare.executeQuery();
if(result.next())
{
Return=result.getInt("Id");
}
result.close();
prepare.close();
conn.close();
}catch(Exception we)
{
Return=-1;
System.out.println(we.getMessage());
}finally
{
try
{
if(!conn.isClosed())
{
prepare.close();
conn.close();
}
}
catch(Exception ew)
{
}
}
return Return;
}
}
DWRCityChar_send JAVA文件
package com.aaa.CharChat.DWR;
import java.sql.*;
import java.util.*;
import com.db.DatabaseConnection;
import com.aaa.CharChat.DWR.DWRCityChar_Init;
import com.aaa.CharChat.initSQL.CityChart_InitSQL;
/**
*Title : 魅力城市聊天发送
*Author : JAVA^_^枭龙---孙德华
*Project: 数字城市
*Date : 2006-9-9
**/
public class DWRCityChar_send
{
public int Chat_send(String User_name,String Content)
{
int Return=0;
try
{
String result="["+User_name+"]说:"+Content;
int nowId=DWRCityChar_Init.getnow_ChatId();
if(nowId>0)
{
Return=dosend(nowId,result);
}else
{
Return=-2;
}
}catch(Exception we)
{
}
return Return;
}
public int dosend(int nowId,String result)
{
Connection conn=null;
PreparedStatement prepare=null;
PreparedStatement prepare1=null;
ResultSet resu=null;
String Content="";
int Return=0;
try
{
conn=DatabaseConnection.getConnection();
prepare=conn.prepareStatement(CityChart_InitSQL.getselectChatbyId());
prepare1=conn.prepareStatement(CityChart_InitSQL.getupdateChatbyId());
prepare.setInt(1,nowId);
resu=prepare.executeQuery();
if(resu.next())
{
Content=resu.getString("Content");
}
resu.close();
prepare.close();
if(Content.length()>4000)
{
DWRCityChar_Init.startnewChat();
nowId=DWRCityChar_Init.getnow_ChatId();
}
Content=result+"\n"+Content;
prepare1.setString(1,Content);
prepare1.setInt(2,nowId);
Return=prepare1.executeUpdate();
prepare1.close();
conn.close();
}catch(Exception we)
{
Return=-1;
System.out.println(we.getMessage());
}finally
{
try
{
if(!conn.isClosed())
{
prepare.close();
prepare1.close();
conn.close();
}
}
catch(Exception ew)
{
}
}
return Return;
}
}
DWRCityChar_Read java文件
package com.aaa.CharChat.DWR;
import java.sql.*;
import java.util.*;
import com.db.DatabaseConnection;
import com.aaa.CharChat.DWR.DWRCityChar_Init;
import com.aaa.CharChat.initSQL.CityChart_InitSQL;
/**
*Title : 魅力城市聊天发送
*Author : JAVA^_^枭龙---孙德华
*Project: 数字城市
*Date : 2006-9-9
**/
public class DWRCityChar_send
{
public int Chat_send(String User_name,String Content)
{
int Return=0;
try
{
String result="["+User_name+"]说:"+Content;
int nowId=DWRCityChar_Init.getnow_ChatId();
if(nowId>0)
{
Return=dosend(nowId,result);
}else
{
Return=-2;
}
}catch(Exception we)
{
}
return Return;
}
public int dosend(int nowId,String result)
{
Connection conn=null;
PreparedStatement prepare=null;
PreparedStatement prepare1=null;
ResultSet resu=null;
String Content="";
int Return=0;
try
{
conn=DatabaseConnection.getConnection();
prepare=conn.prepareStatement(CityChart_InitSQL.getselectChatbyId());
prepare1=conn.prepareStatement(CityChart_InitSQL.getupdateChatbyId());
prepare.setInt(1,nowId);
resu=prepare.executeQuery();
if(resu.next())
{
Content=resu.getString("Content");
}
resu.close();
prepare.close();
if(Content.length()>4000)
{
DWRCityChar_Init.startnewChat();
nowId=DWRCityChar_Init.getnow_ChatId();
}
Content=result+"\n"+Content;
prepare1.setString(1,Content);
prepare1.setInt(2,nowId);
Return=prepare1.executeUpdate();
prepare1.close();
conn.close();
}catch(Exception we)
{
Return=-1;
System.out.println(we.getMessage());
}finally
{
try
{
if(!conn.isClosed())
{
prepare.close();
prepare1.close();
conn.close();
}
}
catch(Exception ew)
{
}
}
return Return;
}
}
用到的JAVASCRIPT JS文件
/**
*Title : 魅力城市聊天
*Author : JAVA^_^枭龙---孙德华
*Project: 数字城市
*Date : 2006-09-9
**/
var Send_state=0;//发送状态
var Chat_sendTime=500;
var Chat_sendStart;
var Chat_sendEnd;
var Chat_sendstop;
var Chat_result;
var Chat_startWrite;
var Chat_InitStart;
var Chat_Readtime=500;
function Chathotsend()
{
if(event.keyCode==10)
{
ChatSend();
}
}
function getChat_Content()
{
var Content=null;
var obj=document.getElementById('chat_input');//获取聊天内容
if(typeof(obj)=='object')
{
Content=obj.value;
if(Content!=null&&Content.length>400)
{
alert('对不起!你的聊天内容过长,请你说话要简练扼要!');
}
}else
{
Content=null;
alert('程序内部出现异常,抱歉!我们会尽快解决');
}
return Content;
}
function ChatSend()
{
var UserName="";
var obj=document.getElementById('Chat_User_name');//获取聊天内容
if(typeof(obj)=='object')
{
UserName=obj.value;
}else
{
UserName==null;
alert('程序内部出现异常,抱歉!我们会尽快解决');
return;
}
var Content=getChat_Content();
if(Content==null||Content=='')
{
ShowAlert('请您输入聊天内容!');
alert_time=setTimeout('ShowAlertCLose()',alert_showtime);
alert('请您输入聊天内容!');
return;
}
Chat_sendstop=setTimeout('ShowAlert()',Chat_sendTime);
doChatSend(UserName,Content);
var chatobj=document.getElementById('chat_input');
chatobj.value='';
chatobj.focus();
}
function doChatSend(UserName,Content)//聊天发送
{
Chat_sendStart=new Date();
CityChatsend.Chat_send(UserName,Content,Chat_doResult);
}
function Chat_doResult(Return)//结果显示
{
Send_state=Return;
Chat_sendEnd=new Date();
var temp=Chat_sendEnd-Chat_sendStart;
if(temp>50)
{
Chat_sendTime=temp;
}
}
function ShowAlert()
{
clearTimeout(Chat_sendstop);
if(Send_state==-1)
{
alert('聊天提交时,出现数据库插入异常!抱歉!请你重新输入');
}else if(Send_state==-2)
{
alert('对不起!聊天系统出现异常,给你带来不便。在此,我代表AAA国际向你表示抱歉……');
}
}
function ChatInit()
{
setInterval('ChatRead()',Chat_Readtime);
}
function ChatRead()
{
var chat_updiv=document.getElementById('chat_input_updiv');
if(chat_updiv.style.display=='')
{
CityChatRead.ChatRead(getChatContent);
Chat_startWrite=setTimeout('WriteChatContent()',1000);
}
}
function WriteChatContent()
{
clearTimeout(Chat_startWrite);
var obj=document.getElementById('chat_content');
if(typeof(obj)=='object')
{
if(Chat_result!=null&&Chat_result!='')
{
obj.value=Chat_result;
}else
{
obj.value='数据加载中......';
}
}else
{
alert('程序内部出现异常,抱歉!我们会尽快解决');
}
Chat_result=null;
}
function getChatContent(result)
{
Chat_result=result;
}
发表评论
-
dwr 常见方法
2008-01-16 17:38 998$(); 功能:相当于document.getElement ... -
DWR中提供XML的传递方法
2008-01-16 17:28 840自己用dom4j,所以用dom4j做例子; java ser ... -
DWRUtils API 使用方法(转载)
2008-01-16 17:21 748$("precloneNode1suf") ... -
DWREngine API 使用方法 (转载)
2008-01-16 17:21 2470//简易函数; abc(handler){ } DWRE ... -
dwr简介 (转载)
2008-01-16 16:39 1255最近Ajax比较火,全世界 ... -
dwr学习1 (转载)
2008-01-16 16:35 884这段时间较闲,研究了一 ... -
DWR源码学习(一)(转载
2008-01-16 16:10 1401DWR一个外国人实现的很有前途的AJAX框架。 多余的话就不说 ... -
DWR 简化 Ajax 的 portlet 间通信(转载)
2008-01-16 16:04 1227许多开发人员都期待着利用 Ajax 技术来提高基于 Web 的 ... -
关于DWR2.0的配置问题(转载)
2008-01-16 16:00 886自从换工作之后就没有研究过DWR了。下载了最新的DWR2.0M ... -
ajax之旅--dwr探密(转载)
2008-01-16 15:58 787ajax是Asynchronous JavaScript an ... -
DWR使用笔记(转载)
2008-01-16 15:56 681DWR是一个框架,简单的说就是能够在javascript直接调 ... -
把DWR的配置写到Spring的配置文件里(转载)
2008-01-16 15:54 1061要读懂我这篇文章估计需要一些前期知识: 你要知道Spring是 ... -
DWR的学习文档(Hello World,类型转换,Spring,Annotation) (转载)
2008-01-16 15:37 1073DWR是作为远程调用的ajax框架,将服务端的java类,方法 ...
相关推荐
Java的DWR(Direct Web Remoting)项目是一种用于在Web应用程序中实现实时交互的技术,它允许JavaScript在客户端与服务器端的Java代码之间进行直接调用,极大地简化了富Internet应用(RIA)的开发。本项目是基于...
【OA项目实战,SSH+DWR开发的一个好项目】 OA(Office Automation)系统是企业信息化建设中的重要组成部分,主要用于提高工作效率,实现办公自动化。在这个项目中,SSH(Struts2、Spring、Hibernate)和DWR(Direct...
该技术的实现过程包括下载dwr.jar文件,配置web.xml文件,开发后台的Java类等步骤。 八、相关技术知识点 * Ajax技术:异步JavaScript和XML技术 * 服务器推技术:服务器主动推送数据到客户端的技术 * dwr 框架:...
Java 使用 Direct Web Remoting (DWR) 框架实现Ajax技术是一种常见的方式,它能够为Web应用程序提供异步更新和交互性。...在实际项目中,结合DWR提供的各种功能和优化手段,可以构建出高效、安全的Web应用。
该项目利用Java语言开发,旨在为开发者提供DWR3框架的测试示例,涵盖了DWR3的基本使用、组件集成、交互设计等方面,适用于对DWR3框架感兴趣的开发者。项目结构清晰,代码注释详尽,易于理解和集成。
DWR简化了客户端与服务器端之间的数据交换,使得开发人员可以方便地调用Java方法并更新网页的动态内容,而无需刷新整个页面。 在提供的示例中,我们首先看到一个名为`test.html`的HTML文件,这是客户端的界面。文件...
标题中的“dwr小项目及资料”暗示我们这是一套关于DWR的实践项目和学习资源,可能包含了一些示例代码和文档,帮助我们理解如何在实际项目中应用DWR。 描述中提到的“实现前台javascript直接调用后台业务方法和后台...
Java DWR(Direct Web Remoting)框架是一种在Web应用程序中实现AJAX(Asynchronous JavaScript and XML)交互的技术。它允许JavaScript在客户端与服务器端的Java对象进行直接通信,从而实现页面的部分更新,提高...
1. **减少开发时间**:DWR简化了Web应用的开发流程,尤其是对于需要频繁交互的界面,开发者可以直接在JavaScript中调用Java方法。 2. **提高响应速度**:由于无需刷新整个页面,DWR显著提高了Web页面的响应时间,...
### DWR实战:深入理解DWR函数在前后端通信中的应用 ...总之,DWR提供了一种直观且高效的方式,让前端JavaScript能够无缝地与后端Java对象进行交互,极大地简化了Ajax开发过程中的数据交换和处理逻辑。
**Java AJAX 框架 DWR 全面解析** DWR (Direct Web Remoting) 是一个...同时,书中可能还会涵盖DWR与其他技术的集成,如Spring、Hibernate等,以及最佳实践和性能优化策略,对于提升你的Java AJAX开发技能大有裨益。
这些项目经验反映了开发者在Java企业级应用开发中的广泛技能,包括框架应用、数据库设计、通信协议、用户界面开发、多线程处理、数据导入导出、性能优化等方面。这种全面的经验对于任何Java开发者的简历都是极其宝贵...
DWR的主要目标是简化AJAX(Asynchronous JavaScript and XML)开发,使得开发者能够轻松地在浏览器中调用服务器上的Java方法,就像调用本地JavaScript函数一样。这个技术极大地提升了用户体验,因为数据可以在不刷新...
适合ajax dwr 初学者 本实例所要介绍的是采用dwr来操作页面表单table,发送各种(带有参数包括简单类型,list,map类型)请求,并返回各种信息(包括普通的javabean,java.util.List,java.util.Map信息)
9. **实战项目**:“[浪曦原创]零散视频三 使用DWR开发AJAX For J2EE(JustCode).wrf”可能是一个实际操作视频,详细演示如何使用DWR构建一个简单的AJAX应用,通过观看可以加深对上述理论知识的理解。 10. **资源...
要使用DWR,你需要在项目中配置DWR的Servlet,并在Java类中添加可被远程调用的方法。 对于数据库部分,这里选择了SQL Server 2000。在实现级联菜单时,通常需要三个表:一个存储顶级分类,另一个存储子分类,第三个...
Java Direct Web Remoting (DWR) 是一个开源的Java库,它允许JavaScript在浏览器中直接调用服务器端的Java方法,实现Ajax(异步JavaScript和XML)应用。DWR简化了客户端与服务器端的交互,使得开发人员可以利用Java...
DWR框架简化了基于AJAX的Web应用开发,特别适合那些希望利用Java的强大功能而同时保持前端交互性的项目。通过上述章节的介绍,我们对DWR的基础知识、运行机制、配置管理以及高级用法有了较为全面的认识。这将有助于...
Java DWR(Direct Web Remoting)是一种开源的技术,它允许JavaScript和Java在Web应用程序中进行实时通信,从而创建更富交互性的用户界面。这个文档集合提供了关于如何利用DWR进行界面开发的深入理解和实践指导。 1...