zoukankan      html  css  js  c++  java
  • DWR整合之Servlet

    DWR 与 Servlet  

      有 2 个 Java 类你一般需要用在 DWR 中,是 webContext 和 WebContextFactory

      在 DWR 1.x 它们在 uk.ltd.getahead.dwr 包, DWR 2.0+在 org.directwebremoting 包。这 2 个类给与你访问标准 Http servlet 对象的入口。这些对象是:

      •HttpServletRequest

      •HttpServletResponse

      •HttpSession

      •ServletContext

      •ServletConfig

    1.使用 webContext 的方法:

    1 import uk.ltd.getahead.dwr.WebContext;
    2 import uk.ltd.getahead.dwr.WebContextFactory;
    3 //
    4 WebContext ctx = WebContextFactory.get();
    5 req = ctx.getHttpServletRequest();

      处理 Http request 和 response 做为只读是非常重要的。因为,当 Http headers 也许会通过,那么有些浏览器会忽略它们(比如 IE 忽略缓存参数)。任何尝试改变 Http body 将会导致 DWR 错误。
        WebContext 使用一个本地线程变量,所以你能使用以上的代码放在任何地方。
      也可以看一下 DWR 的 Java 文档 ,或者详细看一下 WebContext 。
      WebContext 代替了 DWR1.1 中的 ExecutionContext。

    2.方法选择

      在没有写依赖于 DWR 的代码时,要能够访问 Http servlet 对象是可以做到的(比如 HttpServletRequest,HttpServletResponse, HttpSession, ServletContext or ServletConfig)。DWR 将自动填充它。

      举个例子:  

    1 public class Remote {
    2     public void method(int param, ServletContext cx, String s) { ... }
    3 }

      然后你将可以从 Javascript 中通访问它尽管没有 ServletContext 参数:

    Remote.method(42, "test", callback);

      DWR 将为你填充这个参数。
      对这个方法这里有个小小的警告,你要保证你的没有把’callback function’作为第一个参数,而应该把它作为最后一个参数,或者作为元数据对象

    走在一起是缘分,在一起走是幸福; 在一起走是缘分,走在一起是幸福
  • 相关阅读:
    算法复习———dijkstra求次短路(poj3255)
    NOIP2017年11月9日赛前模拟
    NOIP2017赛前模拟11月6日—7日总结
    刷题总结——子串(NOIP2015)
    NOIP2017赛前考试注意事项总结
    NOIP2017赛前模拟11月4日总结:
    NOIP2017赛前模拟11月2日总结
    刷题总结——Aeroplane chess(hdu4405)
    刷题总结——Interval query(hdu4343倍增+贪心)
    刷题总结——Throw nails(hdu4393)
  • 原文地址:https://www.cnblogs.com/tarena/p/3683037.html
Copyright © 2011-2022 走看看