dwrservlet java_关于dwr的dwrservlet

DWR应用中,所有的“/dwr/*”的请求都由这个DWRServlet来处理。当Web服务器启动的时候,DWRServlet调用init()方法完成初始化,设置日志级别、实例化DWRServlet用到的单例类、读取包括dwr.xml在内的配置文件。当“/dwr/*”请求送达的时候,DWRServlet的doGet,doPost方法调用processor.handle(req,res)方法,根据请求的URL完成如下事务。

请求URL为“/dwr/”根请求:将请求转向“/dwr/index.html”;

请求URL为“/dwr/index.html”:列出当前客户端可远程调用的全部Java类,页面仅供调试的时候使用;

请求URL为“/dwr/text/*”:为单独的Java类创建测试页面,页面仅供调试的时候使用;

请求URL为“/dwr/engine.js”或者“/dwr/uril.js”或者“/dwr/deprecated.js”:从dwr.jar包中读取相应Javascript文件的文件流,显示在页面上;

请求URL为“/dwr/interface/*”:将在dwr.xml中定义的Java类及其方法转化为Javascript函数;

请求URL为“/dwr/exec/”:处理远程Javascript请求;

请求URL为其他:设置http请求状态码为404,返回错误信息为“Page not found. In debug/test mode

try viewing /[WEB-APP]/dwr/”。

既定的Java类已经通过DWR转化成可供客户端使用Javascript调用的方法和对象了。接下来就是使用Javascript调用这些暴露的方法和对象了。DWR最大的挑战在于如何将Java同步调用执行的特性与Ajax的异步特性结合起来。

DWR采用了XMLHttpRequest对象的回调机制来解决上述矛盾,即当响应数据从服务器返回是调用用户指定的回调函数。DWR提供两种方式为Javascript指定回调函数,即将回调函数名称加入参数列表,或者在参数列表中增加一个包含数据对象的调用。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值