抽取通用BaseServlet

2021-08-19 23:39:45 字數 1152 閱讀 6561

之前編寫的servlet的問題:

1.doget每次請求都會執行--- 重寫service

2.用了大量 if else if 判斷執行的是那個方法讓方法執行

3.每個方法執行的結果無非就是請求**或者重定向或者列印資料

讓所有的方法都返回乙個字串

若最後的結果需要請求**,就把**的路徑給返回

若最後的結果不需要請求**,就返回乙個null

string path=method.invoke(this, request,response);

if(path != null)

4.所有servlet的service中的**都一樣

向上繼續抽取

編寫乙個baseservlet,將之前service方法中的**複製過來即可,

然所有的servlet都繼承baseservlet即可

5.統一的錯誤頁面

/**

* 通用的servlet

//2.獲取方法物件

//3.讓方法執行,接受返回值

string path=(string) method.invoke(this, request,response);

//4.判斷返回值是否為空 若不為空統一處理請求**

為什麼baseServlet可以呼叫很多方法

servlet會先呼叫service 然後再根據service方法中的定義呼叫doget,dopost等方法 servlet中,service方法是一直存在的,因為最高層的介面servlet 像httpservlet等具體的servlet都是直接或者間接實現了這個介面 裡面就有這個方法,所以不管是怎...

jdbc隨手筆記 對於dao通用方法的抽取

jdbc連線資料庫執行sql主要是分更新和查詢兩種,為了減少冗餘,常常抽取通用方法作為一類。這裡用的是mysql資料庫 dao通用的步驟 1.獲取連線 2.輸入sql語句 3.建立preparestatement物件 4.執行sql語句 1 更新 2 查詢 5.關閉 處理異常 定義兩個通用的方法 1...

基於行塊分布函式的通用網頁正文抽取

基於行塊分布函式的通用網頁正文抽取 線性時間 不建dom樹 與html標籤無關 對於web資訊檢索來說,網頁正文抽取是後續處理的關鍵。雖然使用正規表示式可以準確的抽取某一固定格式的頁面,但面對形形色色的html,使用規則處理難免捉襟見肘。能不能高效 準確的將乙個頁面的正文抽取出來,並做到在大規模網頁...