◆JAVA/SPRING + JAVA

Spring Framework에서 현재 HTTP 요청 객체(HttpServletRequest)를 얻는 방법

쿠키린 2023. 9. 12. 17:10
HttpServletRequest request = ((ServletRequestAttributes) RequestContextHolder.getRequestAttributes()).getRequest();

 코드는 Spring Framework에서 현재 HTTP 요청 객체(HttpServletRequest)를 얻는 방법 중 하나입니다. 이 코드를 사용하면 현재 요청에 대한 정보를 얻을 수 있습니다.

 

protected int getAgtIdx() {
   HttpServletRequest request = ((ServletRequestAttributes) RequestContextHolder.getRequestAttributes()).getRequest();
   if(request != null ) {
      LoginVO svo = (LoginVO) request.getSession().getAttribute("loginUser");
      if(svo != null) {
         return svo.getAgt_idx();
      }
   }
   return 0;
}
/**
 * jsp 명
 * */
protected String getViewName() {
   String viewName = "jsonView";
   HttpServletRequest request = ((ServletRequestAttributes) RequestContextHolder.getRequestAttributes()).getRequest();
   if(request != null) {
      viewName = ViewNameEnum.getViewName(request.getRequestURI());
      System.out.println(viewName);
   }
   return viewName;
}

 

+ViewNameEnum파을은 enum파일

public enum ViewNameEnum { 

	대문자('매핑경로','jsp명')

	private String span;
	private String viewName;

	// 열거 값에 (String) 값 span 에 대입
	ViewNameEnum(String span, String viewName){
		this.span = span;
		this.viewName = viewName;
	}

	// viewName 조회
	public static String getViewName(String url) {
		for(ViewNameEnum item : ViewNameEnum.values()) {
			if(item.getValue().equals(url)) {
				return item.getViewName();
			}
		}
		return "";
	}

	// span 값 반환
	public String getValue() {
		return span.toString();
	}

	// viewName 값 반환
	private String getViewName() {
		return viewName.toString();
	}
}