- PR -

javax.servlet.Filterについて

1
投稿者投稿内容
wakewaka
会議室デビュー日: 2007/12/06
投稿数: 1
投稿日時: 2007-12-06 15:59
現在、javax.servlet.Filterを要して
簡単なプログラムをつくたったのですが動きません。
環境は、
JDK6(or JDK5)
Tomcat5.5
です。
プログラムは、
import java.io.*;
import javax.servlet.*;

public class HelloWorldFilter implements Filter {
public void doFilter(ServletRequest req, ServletResponse res, FilterChain chain)
throws IOException, ServletException {

/** ここに処理を記述 **/



// ログに出力します。
System.out.println("HelloWorldFilter");
// 次のフィルタまたは元々要求されていたリソースを呼び出します。
// (今回の場合はサーブレット)
chain.doFilter(req, res);
}
public void init(FilterConfig config) throws ServletException {
}
public void destroy() {
}
}
です。
Edosson
ぬし
会議室デビュー日: 2004/04/30
投稿数: 675
投稿日時: 2007-12-06 16:13
ひとつ確認したいんですが、javax.servlet.http.HttpServletを
継承したサーブレットを作成して、動作するWebアプリを作れますか?
nagise
ぬし
会議室デビュー日: 2006/05/19
投稿数: 1141
投稿日時: 2007-12-06 17:29
javadocを読みましょう。

引用:

このメソッドの典型的な実装は、次のように行われます。
1. 要求を検査する
2. オプションとして、入力フィルタリング用にコンテンツまたはヘッダをフィルタリングするカスタム実装により、要求オブジェクトをラップする
3. オプションとして、出力フィルタリング用にコンテンツまたはヘッダをフィルタリングするカスタム実装により、応答オブジェクトをラップする
4. a) FilterChain オブジェクトを使用してチェーン内の次のエンティティを呼び出す (chain.doFilter())
4. b) または、要求に対する処理を打ち切るため、フィルタチェーン内の次のエンティティに要求と応答のペアを渡さない
5. フィルタチェーン内の次のエンティティを呼び出した後に、応答に対してヘッダを直接設定する



強調しておきましたが、サーブレット側に処理を渡すにはchain.doFilter()を呼ぶ必要があります。
1

スキルアップ/キャリアアップ(JOB@IT)