在DWR中呼叫Http Servlet 物件
轉自http://www.blogjava.net/patterns/archive/2006/04/07/dwr_access_servletobjects.html
我們在實際的 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;
/// WebContext ctx = WebContextFactory.get(); HttpServletRequest req = ctx.getHttpServletRequest(); |
WebContext 是使用 ThreadLocal 儲存的,你可以看一下 uk.ltd.getahead.dwr.impl.DefaultWebContextBuilder 原始碼,所以可以在任何地方使用它,例如在上一篇的 demo 中進行測試如下:
在 index.html 頭部增加如下程式碼並改名為 index.jsp
<%@ page contentType="text/html; charset=GBK" %>
<% System.out.println("This is DWR servlet object!");
session.setAttribute("dwr","love dwr"); %> |
修改 MessageDao.java 的程式碼如下
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"); } } |
相關文章
- Servlet中的response物件Servlet物件
- DWR中Java方法的引數及返回值、物件javabeanJava物件Bean
- Servlet&HTTP&RequestServletHTTP
- 在Asp.Net中實現類似DWR的功能ASP.NET
- 在servlet中如何訪問javabeanServletJavaBean
- java 中對物件的呼叫Java物件
- 3.Servlet物件Servlet物件
- Servlet中利用全域性物件提高效能!!!Servlet物件
- jsp隱式物件-Servlet物件JS物件Servlet
- Servlet、HTTP詳細解釋!ServletHTTP
- Servlet呼叫構造方法,物件傳不進建構函式中去問題Servlet構造方法物件函式
- 在iOS中呼叫HTMLiOSHTML
- Servlet基礎教程之呼叫流程Servlet
- 詳解SSH 框架中物件呼叫流程框架物件
- JavaWeb Servlet Http協議 HttpServletRequestJavaWebServletHTTP協議
- dwr框架帶引數,而且有返回值的方法呼叫框架
- Servlet第二篇【Servlet呼叫圖、Servlet細節、ServletConfig、ServletContext】ServletContext
- Dapr Java Http 呼叫JavaHTTP
- 如何在java類中呼叫websphere中的jndi物件JavaWeb物件
- servlet 呼叫jdbc 出現得問題ServletJDBC
- tomcat原始碼 -- servlet呼叫過程Tomcat原始碼Servlet
- DWR中引用JS的路徑問題JS
- 在處理鏈中呼叫APD
- 在Watir中呼叫JavaScript指令碼JavaScript指令碼
- 在c#中呼叫confirmC#
- aspectJ中怎樣獲得呼叫 pointcut 的物件物件
- Http介面呼叫示例教程HTTP
- 在 JavaScript 中如何克隆物件?JavaScript物件
- DWR幫助文件-dwr.xml檔案的配置XML
- JS_建立物件+呼叫物件方法JS物件
- 在Jsp/Servlet中的中文解決辦法 (轉)JSServlet
- 在 iOS 中實現方法鏈呼叫iOS
- 在loadrunner中呼叫QTP指令碼QT指令碼
- 在ASP檔案中呼叫DLL (轉)
- 在PowerBuilder中動態呼叫函式UI函式
- 在nodejs中體驗http/2NodeJSHTTP
- Servlet第一篇【介紹Servlet、HTTP協議、WEB目錄結構、編寫入門Servlet程式、Servlet生命週期】ServletHTTP協議Web
- 使用Node在服務端呼叫HTTP-Basic認證的API服務端HTTPAPI