Home > Java > Servlet 3.0 のアノテーションでは Filter の順番を指定できない?

Servlet 3.0 のアノテーションでは Filter の順番を指定できない?

Servlet 3.0 になってから HttpServlet クラスの @WebServlet 同様に、Filter クラスも @WebFilter というアノテーションが指定できるようになっていて、やたら便利です。

@WebFilter(dispatcherTypes = { DispatcherType.REQUEST }, urlPatterns = { "/*" },
        initParams = { @WebInitParam(name = "encoding", value = "UTF-8") })
public class EncodingFilter implements Filter {

    private String encoding = null;

    @Override
    public void init(FilterConfig fConfig) throws ServletException {
        encoding = fConfig.getInitParameter("encoding");
    }

    @Override
    public void destroy() {
    }

    @Override
    public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain)
            throws IOException, ServletException {
        request.setCharacterEncoding(encoding);
        response.setCharacterEncoding(encoding);
        chain.doFilter(request, response);
    }
}

が、どうもアノテーションだけでは、Filter クラスの順番を定義することはできないようです。
なので、結局、web.xml に Filter を上から順番に書いていくしかないようです、残念。
(指定する方法があったら教えて欲しいです)

ちなみに @WebFilter に指定するアノテーション定義はこちら
http://docs.oracle.com/javaee/6/api/javax/servlet/annotation/WebFilter.html

やはり、順番を指定する指定は無いっぽい。

Comments:0

Comment Form
Remember personal info

Trackbacks:0

Trackback URL for this entry
http://sinsengumi.net/blog/2011/12/servlet-3-0-%e3%81%ae%e3%82%a2%e3%83%8e%e3%83%86%e3%83%bc%e3%82%b7%e3%83%a7%e3%83%b3%e3%81%a7%e3%81%af-filter-%e3%81%ae%e9%a0%86%e7%95%aa%e3%82%92%e6%8c%87%e5%ae%9a%e3%81%a7%e3%81%8d%e3%81%aa%e3%81%84/trackback/
Listed below are links to weblogs that reference
Servlet 3.0 のアノテーションでは Filter の順番を指定できない? from sinsengumi血風録

Home > Java > Servlet 3.0 のアノテーションでは Filter の順番を指定できない?

Search
Feeds
Meta

Return to page top