2.3

开始学习Java Web开发中的过滤器(Filter)。过滤器可以在请求到达Servlet或JSP之前,或者在响应离开之前对其进行处理。
例如,创建一个简单的字符编码过滤器:
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 java.io.IOException;

@WebFilter("/*")
public class EncodingFilter implements Filter {
private String encoding;

@Override
public void init(FilterConfig filterConfig) throws ServletException {
    encoding = filterConfig.getInitParameter("encoding");
    if (encoding == null) {
        encoding = "UTF - 8";
    }
}

@Override
public void doFilter(ServletRequest servletRequest, ServletResponse servletResponse, FilterChain filterChain) throws IOException, ServletException {
    servletRequest.setCharacterEncoding(encoding);
    servletResponse.setCharacterEncoding(encoding);
    filterChain.doFilter(servletRequest, servletResponse);
}

@Override
public void destroy() {
}

}
这个过滤器会设置请求和响应的字符编码为UTF - 8,确保数据的正确传输和处理。

posted @ 2025-02-18 23:03  老汤姆233  阅读(18)  评论(0)    收藏  举报