genericservlet是乙個 serlvet. 是 servlet 介面和 servletconfig 介面的實現類. 但是乙個抽象類. 其中的 service 方法為抽象方法
如果新建的 servlet 程式直接繼承 genericserlvet 會使開發更簡潔.
具體實現:
1.在 genericservlet 中宣告了乙個 serlvetconfig 型別的成員變數, 在 init(servletconfig) 方法中對其進行了初始化
2.利用 servletconfig 成員變數的方法實現了 servletconfig 介面的方法還定義了乙個 init() 方法,在init(serlvetconfig) 方法中對其進行呼叫, 子類可以直接覆蓋 init() 在其中實現對 servlet 的初始化.
3.不建議直接覆蓋 init(servletconfig), 因為如果忘記編寫 super.init(config); 而還是用了 serlvetconfig 介面的方法,則會出現空指標異常.
4.新建的 init(){} 並非 serlvet 的生命週期方法. 而 init(servletconfig) 是生命週期相關的方法.
手寫genericservlet類,實現servlet,servconfig介面
//servlet的實現類,方便開發,讓需要重寫的service方法為抽象方法,其他的都提供實現
//先把abstract刪掉,再ctrl+1匯入servletconfig介面的待實現的方法
public abstract class mygenericservlet implements servlet,servletconfig
@override
public servletconfig getservletconfig()
@override
public string getservletinfo()
@override
public void init(servletconfig arg0) throws servletexception
//init()方法不是伺服器直接呼叫的生命週期方法,而是人為提供的,方法體內不提供實現,是人為呼叫並且實現的
//tomcat伺服器呼叫4大生命週期方法,其中的初始化方法是init(servletconfig),而不是init()
public void init() throws servletexception
//定義為抽象方法,沒有方法體。當子類繼承mygenericservlet抽象類的時候,需要實現該抽象方法
@override
public abstract void service(servletrequest arg0, servletresponse arg1) throws servletexception, ioexception;
//以下為servletconfig的實現類,該實現類的實現借助於servlet提供的servletconfig物件 進行實現
@override
public string getservletname()
@override
public servletcontext getservletcontext()
@override
public string getinitparameter(string name)
@override
public enumerationgetinitparameternames()
}
mysql手寫 mysql手寫
mysql手記 myisam innodb是mysql常用的儲存引擎 myisam不支援事務 也不支援外來鍵,但其訪問速度快,對事務完整性沒有要求。innodb儲存引擎提供了具有提交 回滾和崩潰恢復能力的事務安全。但是比起myisam儲存引擎,innodb寫的處理效率差一些並且會占用更多的 mysq...
前端手寫系列 手寫reduce函式
reduce函式常用於對陣列,reduce函式接受3個引數 被迭代的陣列 用於迭代計算的函式 迭代的初始值 注意點 如果沒有提供初始值時,會預設使用陣列的第乙個元素來作為初始值 function reduce arr,callback,initialval 如果沒有將initialval傳遞給該函式...
手寫數字識別
這幾天在想這做字元識別方面的程式,看了很多 但是發現 上的幾乎用處都不是特別的大,理論一大堆,但是用在程式裡面則很難實現,看到有些 上說用連碼法,但是連碼法對結構的變化太敏感了,但是也從一些 裡獲得了一些靈感,我採用的是網格匹配法,準備工作採集樣本,得到了樣本的網格資訊用於接下來的識別,當然也可 一...