[필터]

2021. 10. 4. 18:49jsp

1. 캐릭터 인코딩 필터

(1) src/util/CharacterEncodingFilter.java

package util;

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 {
	
	private String encoding;
	
	@Override
	public void init(FilterConfig config) throws ServletException {
		encoding = config.getInitParameter("encoding");
		
		if(encoding == null) {
			encoding = "UTF-8";
		}
		
		System.out.println("encoding: " + encoding);
	}
	
	@Override
	public void doFilter(ServletRequest req, ServletResponse res, FilterChain chain) 
			throws IOException, ServletException {
		req.setCharacterEncoding(encoding);
		chain.doFilter(req, res);
	}
	
	@Override
	public void destroy() {

	}

 

(2) web.xml 파일에 필터 등록

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee"
	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
	xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee;
		http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd"
	version="3.1">
	
	<filter>
		<filter-name>encodingFilter</filter-name>
		<filter-class>util.CharacterEncodingFilter</filter-class>
		<init-param>
			<param-name>encoding</param-name>
			<param-value>utf-8</param-value>
		</init-param>
	</filter>
	
	<filter-mapping>
		<filter-name>encodingFilter</filter-name>
		<url-pattern>/*</url-pattern>
	</filter-mapping>

'jsp' 카테고리의 다른 글

서블릿  (0) 2021.11.08
jsp 태그  (0) 2021.11.08
[커넥션풀]  (0) 2021.10.04
[JSTL]_코어태그  (0) 2021.09.23
[쿠키]_1 생성, 확인, 재설정, 삭제  (0) 2021.09.16