Java web使用Filter處理響應碼
阿新 • • 發佈:2021-01-03
場景,再使用Spring時遇到限制get請求或post請求時,不一致會返回預設的處理頁面,如果要記錄或進行其他處理是沒有辦法的。
而java的Filter不僅可以處理請求達到Servlet時,也可以在返回客戶端之前處理
package com.eraioo.myzone.filter; import java.io.IOException; import javax.servlet.Filter; import javax.servlet.FilterChain; import javax.servlet.FilterConfig; import javax.servlet.ServletException; import javax.servlet.ServletRequest; import javax.servlet.ServletResponse; import javax.servlet.annotation.WebFilter; import javax.servlet.http.HttpServletResponse; @WebFilter("/*") public class DecoratorFilter implements Filter { @Override public void destroy() { } @Override public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException { HttpServletResponse r = (HttpServletResponse) response; chain.doFilter(request, response); int status = r.getStatus(); // 響應碼處理 } @Override public void init(FilterConfig filterConfig) throws ServletException { } }