π»
JSP νλ‘κ·Έλλ° - [MVC/DBμ°λ] νν°(Filter) λ³Έλ¬Έ
λμ μΌλ‘ μμ²μ΄λ μλ΅μ ν¬ν¨ λ μ 보λ₯Ό λ³ννκ±°λ μ¬μ©νκΈ° μν΄ μμ² λ° μλ΅μ μΈν°μ νΈ ν μμλ νν°λ₯Ό ν¬ν¨νλ€.
ν κ°μ§ μ΄μμ νν° μλΈλ¦Ώ λλ μλΈλ¦Ώμ λΆμ°© λ μμλ€. νν°λ λν μλ° μλ² νμ΄μ§ (JSP) νμΌ λ° HTML νμ΄μ§μ λΆμ°© λ μμλ€.
νν°λ₯Ό μ¬μ©νλ©΄ λ€μκ³Ό κ°μ λͺ©νλ₯Ό λ¬μ± ν μμλ, μλ° μλΈλ¦Ώ νλ‘κ·Έλλ° ν΄λμ€μ μ¬μ©ν μ μμ΅λλ€ :
- μ‘μΈμ€λ₯Ό μμ²νλ κ²μ μ΄λ¬ν μμ²μ μΈν°μ νΈ μμ, ν΄λΌμ΄μΈνΈ λ°±μλνκΈ° μ μ.
- μλ²λ μ΄λ¬ν μλ΅μ μ²λ¦¬νλ ν΄λΌμ΄μΈνΈμκ² μλ΅μ μ μ‘νκΈ° μ μ.
http://www.w3big.com/ko/jsp/jsp-writing-filters.html
javax.servlet.Filter μΈν°νμ΄μ€λ₯Ό ꡬννλ μλ° ν΄λμ€μ΄λ€.
public void init(FilterConfig filterConfig)
νν° κ°μ²΄κ° μμ±λ λ νΈμΆλλ λ©μλμ΄λ€. νμ² κ°μ²΄λ μΉ μ ν리μΌμ΄μ μλΉμ€κ° μ¬λΌκ°λ©΄μ, μ¦ μΉμλ²κ° μμλ λ νλ²λ§ λμ΄ μμ±λμ΄ νλ²λ§ νΈμΆλλ©°, init( )λ©μλμλ μ£Όλ‘ μ΄κΈ°ν κΈ°λ₯μ ꡬννλ€.
public void doFilter (ServletRequest, ServletResponse, FilterChain)
doFilter( ) λ©μλλ νν°λ§ μ€μ ν μλΈλ¦Ώμ μ€νν λλ§λ€ νΈμΆλλ λ©μλλ‘μ μ€μ νν°λ§ κΈ°λ₯μ ꡬννλ λ©μλ μ λλ€.
public void destroy()
νν° κ°μ²΄κ° μμ λ λ νΈμΆλλ λ©μλμ λλ€. λ°λΌμ destory( ) λ©μλμλ μ£Όλ‘ μμ ν΄μ κΈ°λ₯μ ꡬνν©λλ€.
νκΈ μ€μ μ μν΄ javaνμΌμ ν΄λΉ μ½λλ₯Ό μ½μ νμλ€. μ΄λ₯Ό νν°λ‘ ꡬνν΄λ³΄μ.
request.setCharacterEncoding("utf-8");
νν° λ±λ‘
web.xml
<!-- νκΈ μ€μ -->
<filter>
<filter-name>CharacterFilter</filter-name>
<filter-class>com.java.filter.CharacterFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>CharacterFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
νν° κ΅¬ν
CharacterFilter.java
package com.java.filter;
import java.io.IOException;
import javax.servlet.Filter;
import javax.servlet.FilterChain;
import javax.servlet.ServletException;
import javax.servlet.ServletRequest;
import javax.servlet.ServletResponse;
public class CharacterFilter implements Filter{
@Override
public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain)
throws IOException, ServletException {
request.setCharacterEncoding("utf-8");
chain.doFilter(request, response);
}
}