DWR3页面请求处理机制分析之util.js

      util.js 是dwr的一个工具js文件,该文件提供了一些函数方法,使得对dom的操作更加方便,在dwr框架系统中我们完全可以选择不去使用util.js文件,它可以分离出dwr框架而独立存在,在其它框架系统的页面处理中可以直接引用util.js文件。下面让我们来分析一下在页面发生请求时对util.js文件的调用处理过程。

 

      1. 在dwr3中util.js是放在org.directwebremoting.ui.servlet包里的,在dwr2中是和engine.js一起放在org.directwebremoting包中,在需要使用util.js时,要在页面中引入<script type="text/javascript" src="dwr/util.js"script>。

 

      2. 当页面请求时会交给org.directwebremoting.servlet.DwrServlet的doget()、doPost()方法来处理,dopost方法调用UrlProcessor的handle()方法,doPost()方法代码如下:

dopost方法调用UrlProcessor的handle()方法处理,UrlProcessor的handle方法在执行时,先取得请求路径,然后根据请求路径,从urlMapping里取得相应请求路径的处理handler类,由这个handler类来处理请求和响应,util.js的handler类为org.directwebremoting.servlet.Utilhandler,对于engine.js的请求处理我们下一次再分析,urlMapping是UrlProcessor类中定义的一个Map,key为请求url,value为请求url的handler类,urlMapping是在web服务器启动时初始化container时填入的。在页面中我们一般会引入 <script type='text/javascript' src='dwr/interface/**.js'> </script> <script type='text/javascript' src='dwr/engine.js'></script> <script type='text/javascript' src='dwr/util.js'></script>如果我们在web.xml中配置了请求路径"/dwr/*",这样就相当于执行了3次请求,根据引入的上下顺序依次执行请求。UrlProcessor的handle方法代码如下:

 

     3. util.js的处理类是UtilHandler,UtilHandler继承了CachingHandler,它寻找到jar下的util.js,然后以文件流的形式读入,最后作为响应输出到页面,通常只读取一次,因为在第一次读取时,它会把文件内容保存到一个map类型的scriptCache里,缓存起来,以后访问的时候就直接从scriptCache里取。CachingHandler的handler方法代码如下:

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值