wildcatsの日記

赤羽在住でIT関係の会社の社長やってます。

Tomcatにおいてサーバ名でフィルタをかけたい場合のValve

あまり用途は無いと思うけど
Tomcatで提供されているValveには見当たらなかったので作ってみた。
依存ライブラリ:catalina.jarとcatalina-optional.jarとservlet-api.jar
動作環境:Tomcat5.5.16


package jp.mydns.wildcats.tomcat.valve;

import java.io.IOException;

import javax.servlet.ServletException;

import org.apache.catalina.connector.Request;
import org.apache.catalina.connector.Response;
import org.apache.catalina.valves.RequestFilterValve;

public class ServerNameValve extends RequestFilterValve {

public void invoke(Request request, Response response) throws IOException,
ServletException {
process(request.getRequest().getServerName(), request, response);
}

}

これでjarファイルを作って
%TOMCATのインストールフォルダ%/server/lib/の下に配置して
server.xmlに以下の行を追加するとうまく動作すると思います。