필터 filter 자바
package kr.or.ddit.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;
public class CustomEncodingFilter implements Filter {
//인코딩 정보가 저장될 변수 선언
private String encoding;
public void init(FilterConfig fConfig) throws ServletException{
//초기화 파라미터에 등록된 인코딩 방식을 읽어오기
if(fConfig.getInitParameter("encoding" ) == null ) {
encoding = "utf-8";
}else {
encoding = fConfig.getInitParameter("encoding");
}
}
public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException {
//request(요청) 인코딩 설정하기
request.setCharacterEncoding(encoding);
chain.doFilter(request, response);
//response(응답) 인코딩 설정하기
//인코딩 방식이 영향을 주지 않는다.
//response.setCharacterEncoding(encoding);
}
}
public void destroy() {
}
----------------------------------------------------------------------------------------------------
-----------------------------------------------------------------------------------------------------
html 문서
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
<form action="<%=request.getContextPath()%>/filterEncodingTestServlet.do">
이름 : <input type="text" name="userName"><br>
<input type="submit" value="전송">
</form>
</body>
</html>
댓글
댓글 쓰기