Spring/01 Spring MVC
-
15 redirect와 forwardSpring/01 Spring MVC 2023. 6. 2. 21:57
(1) redirect와 forward 1) redirect 처리 과정 >> redirect는 요청도 2번 응답도 2번하게 된다, 응답코드는 300대 2) forward의 처리 과정 >> 클라이언트는 write.JSP에게 요청했지만, write.JSP가 처리했는지 login.jsp가 처리했는지 알 수 없다 (요청이 1번), 응답 코드는 200대 >> 스프링의 처리 방식 3) RedirectView RedirectView : 응답헤더를 만든다 >> 브라우저가 자동으로 Location 주소로 응답한 4) JstlView 5) Internal Resource View Resolver ① 컨트롤러는 return "forward:/register/add";를 → DispatcherServlet으로 전달 ② Dis..
-
14 @GetMapping @PostMappingSpring/01 Spring MVC 2023. 5. 1. 20:01
RegisterController >> reqisterForm을 호출만 해주는 역할하고 있다, 등록 >> register( ) 메서드를 주석 처리 >> @GetMapping 없이도URL에서 /register/add 호출 가능 ※알아두면 좋은 것 URLDecoder.decode(“문장”,“UTF-8”) registerForm.jsp URLDecoder.decode(“문장”,“UTF-8”) : URL에 한글을 입력하면, 브라우저가 자동으로 한글로 인코딩 해주지만, 컨트롤러의 URL에 작성에 한글을 넣게되면, 깨지게 된다 (브라우저가 개입X) 따라서 직접 인코딩을 해야하기 때문에 URLDecoder.decode( )를 사용해야 한다 redirect : 웹 브라우저(사용자)가 어떤 URL로 웹 서버를 요청했을때..
-
11 @RequestParam과 @ModelAttributeSpring/01 Spring MVC 2023. 4. 28. 22:39
(1) @RequestParam과 @ModelAttribute 요청의 파라미터를 연결할 매개변수 붙이는 애너테이션 - @ExceptionHandler( ) @ExceptionHandler( )는 ( )안에 있는 예외가 발생했을 때, catcher메소드를 실행하게 된다 ※ ( )안에 예외는 여러개가 들어갈 수 있다 >> @ExceptionHandler같은 경우는 @Controller, @RestController가 적용된 Bean내에서 발생하는 예외를 잡아서 하나의 메서드에서 처리해주는 기능을 한다. - @ControllerAdvice @RestControllerAdvice와 @ControllerAdvice가 존재하는데 @RestControllerAdvice 어노테이션을 들여다보면 아래와 같이 되어있다 @..
-
10 서블릿과 JSP (3)Spring/01 Spring MVC 2023. 4. 27. 20:35
(3) 서블릿과 JSP - URL 패턴 1) 스프링으로 개발 할 때는 서블릿이나 JSP를 사용하지 않고, 모든 요청을 default가 연결된 dispatcher servlet이 처리한다 2) dispatcher servlet 내부에는 서블릿 맵핑처럼 url맵핑을 가지고 있다 @RequestMapping >> 스프링은 서블릿에 발전 >>모든 요청을 default 받아서→ 2) 개별 설정에서 dispatcher servlet으로 받는다 - EL(Expression Language) → ${값} ※EL 에서는 lv(지역변수)를 사용할 수 없다 ※ EL 오류문제 >> EL 컴파일 삭제
-
09 서블릿과 JSP (2)Spring/01 Spring MVC 2023. 4. 27. 20:26
(2) 서블릿과 JSP - 유효 범위(scope)와 속성(attribute) ※ HTTP 특징 - 상태 정보를 저장하지 않는다 (Stateless) >> HTTP가 상태 정보를 저장하지 않기 때문에, 저장소가 필요 저장소는 유효 범위에 따라 4개를 제공 4개의 저장소는 특징 (Map 형태) - (pageContext, application, session, request) 1) 접근 범위 2) 생존 기간 pageContext(저장소) : lv저장, 기본객체 (request, response) EL login.jsp : pageContext 저장된 내용을 사용하는 범위 application(저장소) : WebApp 전체에서 접근 가능 저장소, 전체 1개만 존재 공통저장소 ex) A클라이언트가 ID:a Pa..
-
08 서블릿과 JSP (1)Spring/01 Spring MVC 2023. 4. 25. 22:11
(1) 서블릿과 JSP - 서블릿과 컨트롤러 비교 - 서블릿의 생명주기 >> 서블릿은 기본적으로 init( ), service( ), destory( ) 메서드 3개를 가지고 있다 Servlet Container가 알아서 3가지 메서드를 자동으로 호출하기 때문에 서블릿을 만들 때 3가지 메서드에 내용만 채워주면 된다 >> 새로고침을 하면 init( )는 1번만 호출하여 초기화하고 service( )만 호출하게 된다 서블릿 : 기본적으로 싱글톤 , 1개 인스턴스(객체)가 만들어져 재활용된다 >> 요청할 때 마다 객체를 만들지 않고, 사용 될 인스턴스를 확인하여 service( )를 호출한다 - JSP와 서블릿의 비교 >> JSP = 서블릿, JSP로 작성하면 자동으로 서블릿으로 변환 JSP는 자동으로 맵핑..