• Home
  • About
    • ming photo

      ming

      studying

    • Learn More
    • Twitter
    • Facebook
    • Instagram
    • Github
    • Steam
  • Archive
    • All Posts
    • All Tags
    • All categories
  • categories
    • HTML+CSS+JavaScript
    • JAVA
    • Algorithm
    • DB
    • JSP
    • μ •λ³΄μ²˜λ¦¬κΈ°μ‚¬
    • Spring
    • Thymeleaf
    • κΈ°μˆ λ©΄μ ‘
  • Projects

JSP - NewLecture - ν•„ν„°

21 Mar 2021

πŸ”· ν•„ν„°

βœ” μ„œλΈ”λ¦Ώ ν•„ν„°

πŸ’‘Client둜 λΆ€ν„° Server둜 μš”μ²­μ΄ λ“€μ–΄μ˜€κΈ° 전에 μ„œλΈ”λ¦Ώμ„ κ±°μ³μ„œ 필터링 ν•˜λŠ” 것  
- 곡톡적인 κΈ°λŠ₯듀을 μ„œλΈ”λ¦Ώμ΄ 호좜되기 전에 ν•΄μˆ­(μ „μ²˜λ¦¬) 되게 ν•˜κ³  μ‹Άκ±°λ‚˜,
  μ„œλΈ”λ¦Ώμ΄ 호좜되고 λ‚œ 뒀에 μˆ˜ν–‰(ν›„μ²˜λ¦¬) ν•˜κ³  μ‹ΆμœΌλ©΄ 곡톡적인 κΈ°λŠ₯듀을 μ„œν”Œλ¦Ώ ν•„ν„°λ‘œ κ΅¬ν˜„ν•˜λ©΄ λœλ‹€  
- Filter μΈν„°νŽ˜μ΄μŠ€ : ν•„ν„°λ₯Ό μ„€μ •ν•˜λŠ” FilterConfig 객체, FilterChain 객체와 Filter 객체가 ν•„μš”ν•˜λ‹€.
=> Filter μΈν„°νŽ˜μ΄μŠ€λŠ” init(), doFilter() , destroy() λ©”μ†Œλ“œκ°€ μžˆλ‹€.
- init(FilterConfig config) : μ„œλΈ”λ¦Ώ μ»¨ν…Œμ΄λ„ˆκ°€ ν•„ν„° μΈμŠ€ν„΄μŠ€λ₯Ό μ΄ˆκΈ°ν™” ν•˜κΈ° μœ„ν•΄μ„œ ν˜ΈμΆœν•˜λŠ” λ©”μ†Œλ“œ
- doFilter(ServletRequest res, ServletResponse res,FilterChain chain) : ν•„ν„°μ—μ„œ κ΅¬ν˜„ν•΄μ•Ό ν•˜λŠ” λ‘œμ§μ„ μž‘μ„±ν•˜λŠ” λ©”μ†Œλ“œ
- destroy() : void : ν•„ν„° μΈμŠ€ν„΄μŠ€λ₯Ό μ’…λ£Œμ‹œν‚€κΈ° 전에 ν˜ΈμΆœν•˜λŠ” λ©”μ†Œλ“œ

🎈 ν•„ν„° 클래슀 μž‘μ„±

  • μ½”λ“œ ```java package newlecture.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; import javax.servlet.annotation.WebFilter;

// β€œ/” : λͺ¨λ“  URL에 ν•„ν„°λ₯Ό 적용 @WebFilter(β€œ/”) public class CharacterEncodingFilter implements Filter {

@Override
public void doFilter(ServletRequest req, ServletResponse rep, FilterChain chain)
        throws IOException, ServletException {
    
    // μš”μ²­μ‹œ μ‹€ν–‰ λ˜λŠ” ν•„ν„°
    //System.out.println("before filter");
    
    // μ‹€ν–‰μ „ λͺ¨λ“  μ„œλΈ”λ¦Ώμ— 인코딩 ν•„ν„°κ°€ 적용
    req.setCharacterEncoding("UTF-8");
    
    // μ‹€ν–‰λ˜λ©΄ λ‹€μŒ μ„œλΈ”λ¦Ώμ΄λ‚˜ ν•„ν„°κ°€ μ‹€ν–‰λœλ‹€ => λ‹€μŒμ‹€ν–‰μ„ κ΄€ν™œν•˜κΈ° μœ„ν•œκ²ƒ
    chain.doFilter(req, rep);
    
    // ν•„ν„° μ‹€ν–‰λœ 이후에 μ‹€ν–‰
    //System.out.println("after filter");

}

} ```



Share Tweet +1