본문 바로가기
Spring

[Spring] 요청 URL 경로 출력하기(feat. Filter)

by eunoo 2022. 7. 14.

어디서 어디로 요청 했는지, 몇 초 걸렸는지 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()로 출력.

댓글