Notice
Recent Posts
Recent Comments
Link
«   2024/06   »
1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30
Tags
more
Archives
Today
Total
관리 메뉴

WON.dev

serclet : EncodingFilter.java / LoginFilter.java 본문

JSP/SERVLET

serclet : EncodingFilter.java / LoginFilter.java

GAWON 2023. 5. 23. 19:06
package org.joonzis.filter;

import java.io.IOException;

import javax.print.DocFlavor.STRING;
import javax.servlet.*;

public class EncodingFilter implements Filter {

	private String encoding;

	@Override
	public void init(FilterConfig filterConfig) throws ServletException {
		encoding = filterConfig.getInitParameter("encoding");
	}

	@Override
	public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain)
			throws IOException, ServletException {
		// 필드가 실제 구동되는 영역
		System.out.println("EncodingFilter doFilter() 동작중...");

		if (request.getCharacterEncoding() == null) {
			request.setCharacterEncoding(encoding);
		}
		chain.doFilter(request, response);
	}

	@Override
	public void destroy() {
		
	}
	
	
}
package org.joonzis.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;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;

@WebFilter("/private/*")   // private로 시작하는 모든 URL은 여기를 타게
public class LoginFilter implements Filter {

   @Override
   public void init(FilterConfig filterConfig) throws ServletException {
   
   }
   
   @Override
   public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain)
         throws IOException, ServletException {
      
      System.out.println("로그인 필터 확인");
      
      // 1. 로그인된 클라이언트인지 확인(HttpSession 필요 => HttpServletRequest 필요)
      HttpServletRequest req = (HttpServletRequest)request;
      HttpSession session = req.getSession();
      
      String id = (String)session.getAttribute("id");
      String pw = (String)session.getAttribute("pw");
      
      if(id != null && pw != null) {
         chain.doFilter(request, response);
      } else {
         HttpServletResponse rep = (HttpServletResponse) response;
         String cPath = req.getContextPath();
         rep.sendRedirect(cPath + "/login/loginform.jsp");
      }
   }
   
   @Override
   public void destroy() {
   
   }
   
}