Tomcat中定製閥門

2021-07-02 15:36:03 字數 714 閱讀 8283

我們說管道機制給我們帶來了更好的擴充套件性,tomcat中在擴充套件性方面具體如何體現,這便是本節討論的內容。從上節了解到基礎閥門是必須執行的,假如你需要乙個額外的邏輯處理閥門,可以新增乙個非基礎閥門。

我的需求是對每個請求訪問進行ip記錄,列印到日誌裡面,詳細操作如下:

① 自定義乙個閥門printipvalve,只要繼承valvebase並重寫invoke方法即可,valvebase是tomcat抽象的乙個基礎類,它幫我們實現了生命介面及mbean介面,使我們只需專注閥門的邏輯處理即可。需要注意的地方是一定要執行呼叫下乙個閥門操作,即執行getnext().invoke(request,response),否則執行時將出現錯誤,請求到這個閥門就停止往下處理。

public classprintipvalve extends valvebase{

@override

publicvoid invoke(request request, response response) throws ioexception,

servletexception{

system.out.println(request.getremoteaddr());

getnext().invoke(request,response);

② 配置tomcat伺服器配置server.xml,這裡把閥門配到engine容器下,這樣作用範圍即在

Tomcat原始碼分析 閥門

1.tomcat元件及關係 server service connector engine host context 元件及其關係可以參考tomcat的server.xml及web.xml檔案 介面及實現 a.pipeline 此介面的實現主要用於維護閥門及先後關係,實現見 org.apache.c...

python定製 python中定製類

1 python中 str 和repr 如果要把乙個類的例項變成 str,就需要實現特殊方法 str classperson object def init self,name,gender self.name name self.gender genderdef str self return p...

jquery easyui中定製window工具

jquery easyui 中的視窗在預設狀態下有收束 展開,最小化,最大化和關閉工具,比如我們定義了下面的視窗 window content 將會得到這樣的輸出 可以看到右上角的四個工具。我們可以定製這些工具,如果想建立只有乙個關閉工具的視窗,就需要隱藏其他的工具,可以在標記中定義也可以在 中定義...