어디서 어디로 요청 했는지, 몇 초 걸렸는지 Filter를 이용해 출력하기
package com.hyocoding.ch1;
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;
@WebFilter(urlPatterns= "/*")
public class PerformanceFilter implements Filter{
@Override
public void init(FilterConfig filterConfig) throws ServletException {
// TODO Auto-generated method stub
}
@Override
public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain)
throws IOException, ServletException {
//1. 전처리
long startTime = System.currentTimeMillis();
//2. 서블릿 또는 다음 필터 호출
chain.doFilter(request, response);
//3. 후처리
HttpServletRequest req = (HttpServletRequest) request;
String referer = req.getHeader("referer");
System.out.print("["+referer+"] -> "+req.getMethod()+"["+req.getRequestURL()+"]");
System.out.println(" 소요시간="+(System.currentTimeMillis()-startTime)+"ms");
}
@Override
public void destroy() {
// TODO Auto-generated method stub
}
}
어느 url에서 요청을 보냈는가는 request.getHeader("referer") 로 출력.
어느 url로 요청을 보냈는가는 request.getRequestURL()로 출력.
'Spring' 카테고리의 다른 글
[Spring] redirect와 forward (0) | 2022.08.09 |
---|---|
[Spring] @RequestParam과 @ModelAttribute (0) | 2022.08.04 |
[Spring] DispatcherServlet 구현하기 (0) | 2022.07.05 |
[Spring] HttpServletResquest, HttpServletResponse (0) | 2022.07.03 |
[Spring] WebDataBinder로 데이터 타입 변환, 검증하기 (0) | 2022.06.22 |
댓글