Dukes Bookstore(Servlet 版本)筆記

來源:互聯網
上載者:User
servlet|筆記
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 過濾器



 概念:




相關文章

Beyond APAC's No.1 Cloud

19.6% IaaS Market Share in Asia Pacific - Gartner IT Service report, 2018

Learn more >

Apsara Conference 2019

The Rise of Data Intelligence, September 25th - 27th, Hangzhou, China

Learn more >

Alibaba Cloud Free Trial

Learn and experience the power of Alibaba Cloud with a free trial worth $300-1200 USD

Learn more >

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。