程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> JSP編程 >> 關於JSP >> 淺談user cache Servlet

淺談user cache Servlet

編輯:關於JSP

Servlet和JSP的一個重大的區別即是Servlet可以通過web.xml文件的配置讓Servlet在Web容器啟動時就自動啟動Servlet。可以利用Servlet的這個特性不變化的數據事先加載到Web應用服務器中以便緩存使用。

假設,我們系統的用戶在系統部署前就已經創建好,以後不常發生變化,那麼我們可以在Web應用程序啟動時就將其下載緩存到Web應用服務器內存中,如果用戶發生變化可以手工調用這個Servlet進行刷新。下面我們就通過Servlet向導創建這個user cache Servlet,它在Web容器啟動時自動下載並緩存系統所有用戶Id和用戶名:

1.啟動創建Servlet向導,填寫Servlet名字

2.選擇Servlet所要實現的方法

我們在前面已經介紹了Servlet通過不同的doXxx()方法的響應 HTTP請求方式,你可以在向導的第2步選擇需要定義哪些doXxx()方法。默認情況下doGet()方法被勾選,即通過HTTP GET請求方式訪問Servlet。通過帶參的URL訪問Servlet時,Servlet就用doGet()方法響應這個請求。由於我們只是假設用戶數據不常變動,並不是說永遠不變動,所以我們在Web容器初始化時,希望通過user cache Servlet自動加載用戶數據到緩存中,當數據庫表T_USER的用戶數據發生變動時,我們可以手工調用user cache Servlet,讓其刷新緩存中的用戶數據。

Web容器啟動時自動初始化user cache Servlet,此時init()方法被調用,我們可以通過init()方法加載用戶數據,當用戶通過URL請求刷新用戶數據時,user cache Servlet通過doGet()方法響應這個HTTP GET請求。也就是說,我們需要實現doGet()方法,所以我們接受向導的默認設置

3.指定訪問Servlet的路徑
◆Name:user cache Servlet,Servlet在web.xml配置文件中所取的名字
◆URL pattern:/user cache Servlet,訪問這個Servlet的匹配路徑。指定這個訪問路徑後,假設Web應用程序部署在http://localhost:8080/webModule下,則通過http://localhost:8080/webModule/user cache Servlet訪問Servlet。

直接按Finish創建Servlet。

打開web.xml文件,你可以找到關於user cache Servlet聲明和訪問的部署描述信息:
◆<Servlet>節點:描述Servlet的名字及類名。
◆<Servlet-mapping>節點:描述Servlet訪問匹配路徑。

雙擊工程窗格資源樹的webModule節點,JBuilder在內容窗格中打開用於編輯web.xml文件的Web模塊DD編輯器Web Module DD editor),此時結構窗格顯示出web.xml文件的結構

在init()初始化方法中利用User List.fill User()方法從數據庫中下載並緩存用戶記錄信息,在doGet()方法中也引用了User List.fill User(),用戶通過URL訪問user cache Servlet時,doGet()方法被調用,刷新緩存用戶數據,並顯示"刷新成功"提示,其代碼如下所示:

  1. <web-app>  
  2. …  
  3. <servlet>  
  4. <servlet-name>usercacheservlet</servlet-name>  
  5. <servlet-class>bookstore.servlet.UserCacheServlet</servlet-class>  
  6. <load-on-startup>2</load-on-startup>  
  7. </servlet>  
  8. <servlet-mapping>  
  9. <servlet-name>usercacheservlet</servlet-name>  
  10. <url-pattern>/usercacheservlet</url-pattern>  
  11. </servlet-mapping>  
  12. …  
  13. </web-app> 
  1. Servlet中的doFilter方法
  2. 配置Servlet過濾器
  3. 安裝Servlet和JSP開發工具
  4. Java Servlet入門教程
  5. Servlet過濾器是什麼

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved