filter

jinkyung·2021년 1월 20일
0

JSP

목록 보기
5/20

Filter

서블릿 전처리/후처리와 부가적인 작업, 유동성 있는 작업들을 할 수 있다.
서블릿 소스는 그대로 둔 상태에서 필터만 추가/제거 가능하다.

필터의 용도



web.xml


CharacterEncodingFilter

package spms.filters;

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;

public class CharacterEncodingFilter implements Filter {

	FilterConfig config;
	
	@Override
	public void destroy() {

	}

	@Override
	public void doFilter(ServletRequest req, ServletResponse resp, FilterChain chain)
			throws IOException, ServletException {
		String encoding = this.config.getInitParameter("encoding");
		req.setCharacterEncoding(encoding);
		
		System.out.println("CharacterEncodingFilter - " + encoding);
		
		
		//다음 필터로 전송, 다음 필터가 없으면 서블릿의 service()를 호출한다.
		FilterChain nextFilter = chain;
		nextFilter.doFilter(req, resp);
	}

	@Override
	public void init(FilterConfig arg0) throws ServletException {
		this.config = arg0;
	}

}

doPost 메서드에 적용

결과 - 잘 적용된다.

0개의 댓글