전체 글
-
SpringMVC ( Http 응답 처리 )백엔드/SPRING MVC 2024. 9. 2. 11:35
HTTP 응답 방법정적 리소스 /static , /public, /resources, /META-INF/resourcessrc/main/resources : 리소스를 보관, 클래스패스의 시작 경로View Templatesrc/main/resources/templates : 기본 뷰 템플릿 경로HTTP API , 메시지 바디에 직접 입력 View Template 응답src/main/resources/templates/response/hello.html empty 방법ModelAndView를 반환Model을 이용해서 데이터 전달 + URL 문자열로 전달요청 URL 과 응답 URL 이름이 동일하면 생략 (권장 x -> 명시성이 떨어짐)@ResponseBody, HttpEntity를 사용하면 뷰템..
-
Spring MVC (Http 요청 처리)백엔드/SPRING MVC 2024. 9. 1. 21:32
HTTP 요청 파라미터 방법GET - 쿼리 파라미터URL 쿼리 파라미터에 데이터를 포함해서 전달POST - HTML FormContent-Type : application/x-www-form-urlencoded메시지 body 부분에 쿼리 파라미터 형식으로 전달 ( ex) username=hello&age=20 )HTTP message bodyHTTP API 사용 (JSON, XML, TEXT ) HTTP 요청 파라미터request.getParameter("[변수]")String username = request.getParameter("username"); @RequestParam("[변수]")public String Example( @RequestParam("username") String member..
-
Log 설정 및 Logging 사용백엔드/SPRING MVC 2024. 9. 1. 20:31
LoggingSLF4J수많은 로그 라이브러리들을 통합해서 인터페이스로 만든 것을 "SLF4J" 라고 함Spring에서는 Logback, Log4J, Log4J2 등 많은 로그들이 있지만, 스프링 부트는 Logback을 대부분 사용함 Logging 사용Logging 선언private Logger log = LoggerFactory.getLogger(getClass());private static final Logger log = LoggerFactory.getLogger(xxx.class)Logging 호출log.trace("[내용]");log.debug("[내용]");log.info("[내용]");log.warn("[내용]");log.error("[내용]");Logging LevelTrace > Debu..
-
Spring MVC ( @RequestMapping )백엔드/SPRING MVC 2024. 9. 1. 20:19
RequestMapping #1 @RequestMappingHandler와 adapter 둘다 우선적으로 사용되는 부분이 RequestMapping 이다RequestMappingHandlerMappingRequestMappingHandlerAdapter @RequestMapping 사용@Controller//@RequestMapping("/main") 을 하면 해당 메서드에 붙은 /main 부분을 생략할 수 있다public class SpringExampleControllerV1{ @RequestMapping("/main/new-form") public ModelAndView process(){ return new ModelAndView("new-form"); } ..
-
SPRING MVC 구조 #3 (Dispatcher Servlet, View)백엔드/SPRING MVC 2024. 9. 1. 19:21
Disptacher #3- View Resolver- View Dispatcher Servlet ( + View)Handler Mapping 과정과 Handler Adapter 과정이 이후에 Controller를 통해 받은 ModelAndView형태의 결과물을 렌더링을 진행하게 된다해당 부분에서 render()함수가 호출되게 된다 Render()doDispatch() 메서드에서 processDispatchResult() 메서드의 호출로 렌더링이 시작되게 된다.this.processDispatchResult(processedRequest, response, mappedHandler, mv, (Exception)dispatchException);private void processDispatchResult..
-
SPRING MVC 구조 #2 (Dispatcher Servlet, handler Adapter)백엔드/SPRING MVC 2024. 9. 1. 17:52
Dispatcher Servlet #2- handler Adapter Handler AdapterDispatcher Servlet의 메서드 중 하나인 doDispatcher()의 역할로 컨트롤러의 맞는 어뎁터를 찾고 로직을 실행하게 된다어뎁터는 말그대로, 변압기와 같이 적절하게 맞는 규격을 맞춰주는 역할을 수행하게 된다 Handler Adapter 과정먼저, doDispatch()에서 찾은 Controller(==handler) 정보를 가지고, 해당 어뎁터를 찾게 된다. protected void doDispatch(HttpServletRequest request, HttpServletResponse response) throws Exception { HttpServletRequest pro..
-
SPRING MVC 구조 #1 (Dispatcher Servlet, handler mapping)백엔드/SPRING MVC 2024. 9. 1. 17:32
Dispatcher Servlet #1- handler mapping Dispatcher Servlet 이란?HTTP 요청으로 Client가 보낸 요청메시지를 가장 먼저 받는 역할을 맡는다.해당 요청에 대한 정보에 대한 컨트롤러의 메서드 실행을 위한 준비를 한다Request에 대한 처리와 해당 컨트롤러와의 연계, 응답을 위한 View에 전달하는 역할을 한다 Dispatcher Servlet 구조 및 Handler Mapping 과정상속관계1. java.lang.Object2. jakarta.servlet.GenericServlet3. jakarta.servlet.http.HttpServlet4. org.springframework.web.servlet.HttpServletBean5. org.spring..
-
Spring 예제#2 ( Adapter Handler, FrontController )백엔드/SERVLET & JSP 2024. 8. 29. 16:15
Adapter handlerAdapter Handler 사용이유한가지 로직을 실행시키는데에 있어, A/B 경우를 골라야한다면 어떻게 처리해야할지에 대한 의문frontcontroller 의 경우 한가지 방식의 컨트롤러 인터페이스만 사용 가능 Adapter Handler 도식화 수정해야하는 부분FrontController class에서 Controller를 객체 그대로 받는 경우가 수정되어야한다(Before)private Map controllerV3Map = new HashMap();(After)MyHandlerAdapter adapter = getHandlerAdapter(handler); ModelView mv = adapter.handle(request, response, handler); Ada..