本站不再更新,歡迎光臨 java開發技術網
          隨筆-230  評論-230  文章-8  trackbacks-0

          我們在實際的 web 應用開發過程中,在用戶登錄后會向 session 中塞入一些信息(例如用戶信息,菜單信息等),在頁面提交后,會從 session 中取出這些信息,拼成完整的業務記錄,保存到數據庫中。此時就要求 DWR 可以與 Servlet 對象通信。

          其實 DWR 已經考慮好了,在 DWR1.1 中可以利用 uk.ltd.getahead.dwr.WebContext uk.ltd.getahead.dwr.WebContextFactory 來和 Http Servlet 的標準對象進行通信,包括:

          l???????? HttpServletRequest

          l???????? HttpServletResponse

          l???????? HttpSession

          l???????? ServletContext

          l???????? ServletConfig?

          ?具體調用的方法如下:

          import ?javax.servlet.http.HttpServletRequest;?

          import ?uk.ltd.getahead.dwr.WebContext;?

          import ?uk.ltd.getahead.dwr.WebContextFactory;
          ?import org.directwebremoting.WebContextFactory; //DWR2.0改成這樣

          // /?

          WebContext?ctx?
          = ?WebContextFactory.get();?

          HttpServletRequest?req?
          = ?ctx.getHttpServletRequest();?
          ???? WebContext 是使用ThreadLocal保存的,你可以看一下uk.ltd.getahead.dwr.impl.DefaultWebContextBuilder源碼,所以可以在任何地方使用它,例如在上一篇的demo中進行測試如下:
          頁面里給session設置值
          <%@?page?contentType="text/html;?charset=GBK"?%>?

          ??

          <%?

          System.out.println(
          "This?is?DWR?servlet?object!");?

          ??

          session.setAttribute(
          "dwr","love?dwr");?

          %>?
          DWR要調用的類文件
          package?test.dwr;?

          ??

          import?javax.servlet.http.HttpServletRequest;?

          ??

          import?uk.ltd.getahead.dwr.WebContext;?

          import?uk.ltd.getahead.dwr.WebContextFactory;?

          ??

          public?class?MessageDao?{?

          ????
          public?Message?save(Message?message)?{?

          ??

          ????????WebContext?ctx?
          =?WebContextFactory.get();?

          ????????HttpServletRequest?req?
          =?ctx.getHttpServletRequest();?

          ????????

          ??

          ????????System.out.println(
          "========HttpServletRequest?Begin=======");?

          ????????System.out.println(
          "req:"?+?req.getRemoteHost());?

          ????????System.out.println(
          "req-session:"?+?req.getSession().getAttribute("dwr"));?

          ????????System.out.println(
          "text:"?+?req.getParameter("text"));?

          ????????System.out.println(
          "from:"?+?req.getParameter("from"));?

          ????????System.out.println(
          "=========HttpServletRequest?End========");?

          ??

          ????????System.out.println(
          "========Lucky?DWR?Begin=======");?

          ????????System.out.println(
          "text:"?+?message.getText());?

          ????????System.out.println(
          "from:"?+?message.getFrom());?

          ????????System.out.println(
          "=========Lucky?DWR?End========");?

          ??

          ????????
          return?message;?

          ????}?

          ??

          ????
          public?Message?get()?{?

          ????????
          return?new?Message("This?is?the?first?dwr?demo!",?"test");?

          ????}?

          }?
          posted on 2006-11-21 23:01 有貓相伴的日子 閱讀(2873) 評論(0)  編輯  收藏 所屬分類: dwr
          本站不再更新,歡迎光臨 java開發技術網
          主站蜘蛛池模板: 新密市| 丹凤县| 长武县| 海淀区| 十堰市| 蓝田县| 建湖县| 喜德县| 南丹县| 科技| 敦化市| 梅州市| 贡嘎县| 塔城市| 望奎县| 黄骅市| 武川县| 平舆县| 烟台市| 同江市| 大同市| 阿鲁科尔沁旗| 贵港市| 黄平县| 肇源县| 彰化市| 色达县| 江都市| 甘泉县| 乌拉特后旗| 松桃| 卢湾区| 新乡市| 叶城县| 鄄城县| 金阳县| 乌什县| 玉龙| 井陉县| 峡江县| 商城县|