Dukes Bookstore(Servlet 版本)筆記 - 中國WEB開發者網絡 (http://www.webasp.net) -- 技術教程 (http://www.webasp.net/article/) --- Dukes Bookstore(Servlet 版本)筆記 (http://www.webasp.net/article/23/22092.htm) |
| -- 作者:未知 -- 發佈日期: 2005-04-30 |
1 新增的event模型:通過設定Listener,可以在Servlet的初始化之前和之後做某些事情.這是事件模型在Servlet中的應用. 在訪問/bookstore1/enter之後, ContextListener 構造了一個DB,並且把它放到ServletContext中去,這樣BookstoreServlet可以從Context中得到這個初始化的DB 核心代碼如下: context = event.getServletContext(); ………………………………….. context.setAttribute("bookDB", bookDB); ContextListener 類的實現是很簡單的,只有: contextInitialized, contextDestroyed兩個方法 生存期事件: 不單ServletContext的事件可以監聽,Session等的事件也可以監聽,分別為:HttpSessionListener , ServletRequestListener 2 RequestDispatch : 在BookstoreServlet 中使用了RequestDispatch,代碼如下: RequestDispatcher dispatcher = getServletContext().getRequestDispatcher("/banner"); if (dispatcher != null) dispatcher.include(request, response); 查看web.xml,可知/banner 對應BannerServlet類. 一個RequestDispatch就是一個普通的Servlet類.通常它的應用如下:一個小的Servlet類生成部分Response的結果,而另一個Servlet包含這個結果,進而構造一個Response.這個較小的Servlet類可以理解成網頁的模板.程序的Component.這樣,提高了Servlet的模塊化. 讀完第一個BookstoreServlet的源碼 3 這時頁面有兩個連接,一個是書的信息,一個是Start Shopping 1 ) 點擊 書的信息 BookDetailsServlet 從Context中取出BookDB,根據Parameter查找記錄,然後列出記錄.並列出 添加到購物車和繼續購物兩個選項 1 添加到購物車 CatalogServlet 設置購物車,並列出檢查購物車,買書,和書的信息 2 檢查購物車 ShowCartServlet 根據request的值檢查,沒什麼新鮮 3 其他Servlet都是這麼處理. 2 對於HttpServlet應該如此處理 1 從response得到output stream 2 填充resp的頭部信息 3 寫body到output 4 Filter 過濾器 概念: |
| webasp.net |