본문 바로가기

Spring41

[스프링 MVC 1편] 6 - (1) 스프링 MVC 프로젝트 생성 & 로깅 * 스프링 입문 = window, 스프링 MVC 1편 = Mac 으로 진행합니다 * 진도 : 섹션6 - (1)~(2) * : 자바 클래스명, : 코드, : 단축키 1. 스프링 프로젝트 생성 https://start.spring.io 클릭 → 아래와 같이 설정 → 나머지는 강의를 참고해주세요 SP를 사용하지 않기 때문에 Jar를 사용하는 것이 좋고 앞으로 스프링 부트를 사용하면 이 방식을 주로 사용한다 Jar : 항상 내장 서버(톰캣 등) 사용, webapp 경로도 사용X War : 내장 서버도 사용가능 하지만, 주로 외부 서버에 배포하는 목적으로 사용 command + , → [ Build, Execution, Deployment - Compiler - Annotation Processors ] 에서 E.. 2023. 11. 22.
[스프링 MVC 1편] 5 - (2) 스프링 MVC * 스프링 입문 = window, 스프링 MVC 1편 = Mac 으로 진행합니다 * 진도 : 섹션5 - (4) ~ (7) * : 자바 클래스명, : 코드, : 단축키 1. 스프링 MVC - 시작하기 @RequestMapping 매우 유연하고, 실용적인 컨트롤러를 만들 때 사용한다 - 우선순위 핸들러 매핑(= 핸들러 찾기) RequestMappingHandlerMapping 핸들러 어댑터(= 찾은 핸들러 실행해준다) RequestMappingHandlerAdapter 1) 회원 등록 [ src - java - hello .servlet - web - springmvc - v1 - SpringMemberFormControllerV1 ] @Controller public class SpringMemberFor.. 2023. 11. 17.
[스프링 MVC 1편] 5 - (1) 스프링 MVC * 스프링 입문 = window, 스프링 MVC 1편 = Mac 으로 진행합니다 * 진도 : 섹션5 - (1) ~ (3) * : 자바 클래스명, : 코드, : 단축키 1. 스프링 MVC 전체 구조 1) 직접 만든 프레임워크(= 섹션 4) 스프링 MVC 비교 FrontController → DispatcherServlet handlerMappingMap → HandlerMapping MyHandlerAdapter → HandlerAdapter ModelView → ModelAndView viewResolver → ViewResolver MyView → View 2) DispatcherServlet 구조 스프링 MVC의 프론트 컨트롤러 = 디스패처 서블릿(DispatcherServlet) DispacherS.. 2023. 11. 16.
[스프링 MVC 1편] 4 - (5) 프론트 컨트롤러 - v5 * 스프링 입문 = window, 스프링 MVC 1편 = Mac 으로 진행합니다 * 진도 : 섹션4 - (6) ~ (7) * : 자바 클래스명, : 코드, : 단축키 1. 프론트 컨트롤러_구현 5단계 (V3 지원) Controller를 v1 ~ v4 까지 만들어보았는데 컨트롤러를 섞어서 다양하게 써보자 지금까지 우리가 개발한 프론트 컨트롤러는 한가지 방식의 컨트롤러 인터페이스만 사용할 수 있다 예로 ControllerV3 , ControllerV4 는 다른 인터페이스라 호환이 불가능하다 어댑터 패턴을 사용해서 프론트 컨트롤러가 다양한 방식의 컨트롤러를 처리하자 어댑터 패턴 서로 다른 인터페이스를 사용할 수 있도록 바꿔줌으로써 기존 코드를 재사용 핸들러란 이벤트가 발생했을 때, 해당 이벤트에 맞는 동작을 .. 2023. 11. 13.
[스프링 MVC 1편] 4 - (4) 프론트 컨트롤러 - v4 * 스프링 입문 = window, 스프링 MVC 1편 = Mac 으로 진행합니다 * 진도 : 섹션4 - (5) * : 자바 클래스명, : 코드, : 단축키 1. 프론트 컨트롤러_구현 4단계 ModelView 를 없애보자! Map 으로 별도 설정 1) 인터페이스 [ src - java - hello.servlet - web - frontcontroller .v4 - ControllerV4 ] public interface ControllerV4 { String process(Map paramMap,Map model); } ModelView없이 진행 서블릿과 앞부분 이름 차이 protected void service → String process Map paramMap / model 맵 2개 추가 프론트 컨.. 2023. 11. 10.
[스프링 MVC 1편] 4 - (3) 프론트 컨트롤러 - v3 * 스프링 입문 = window, 스프링 MVC 1편 = Mac 으로 진행합니다 * 진도 : 섹션4 - (4) * : 자바 클래스명, : 코드, : 단축키 1. 프론트 컨트롤러_구현 3단계 서블릿 종속제거 HttpServletRequest HttpServletResponse 더보기 public MyView process(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { 뷰 이름 중복제거 뷰 이름의 중복(/WEB-INF/views/)을 제거하고 논리 이름만 반환 더보기 return new MyView("/WEB-INF/views/new-form.js.. 2023. 11. 10.
[스프링 MVC 1편] 4 - (2) 프론트 컨트롤러 - v2 * 스프링 입문 = window, 스프링 MVC 1편 = Mac 으로 진행합니다 * 진도 : 섹션4 - (1) ~ (3) * : 자바 클래스명, : 코드, : 단축키 1. 프론트 컨트롤러_구현 2단계 (뷰 깔끔하게 처리) 매번 반복해서 사용했던 뷰 영역 코드를 간편하게 바꿔보자! 더보기 String viewPath = "/WEB-INF/views/new-form.jsp"; RequestDispatcher dispatcher = request.getRequestDispatcher(viewPath); dispatcher.forward(request, response); 1) My View 클래스 만들자! [ src - java - hello.servlet - web - frontcont.. 2023. 11. 9.
[스프링 MVC 1편] 4 - (1) 프론트 컨트롤러 - v1 * 스프링 입문은 Window로 스프링 MVC 1편은 Mac으로 진행합니다 * 진도 : 섹션4 - (1) ~ (2) * : 자바 클래스명, : 코드, : 단축키 1. 프론트 컨트롤러 기존의 컨트롤러 공통 로직을 하나로 묶은 프론트 컨트롤러 - FrontController 패턴 프론트 컨트롤러 서블릿 하나로 클라이언트의 요청을 받기 (프론트 컨트롤러를 제외한 나머지 컨트롤러는 서블릿을 사용하지 않아도 됨) 프론트 컨트롤러가 요청에 맞는 컨트롤러를 찾아서 호출 2. 프론트 컨트롤러_구현 1단계 (매핑정보, 컨트롤러 호출) 1) 인터페이스를 만들자! [ src - java - hello.servlet - web - frontcontroller .v1 - ControllerV1 ] 서블릿과 비슷한 모양의 인터페.. 2023. 11. 9.
[스프링 MVC 1편] 3 - (3) MVC 패턴 * 스프링 입문은 Window로 스프링 MVC 1편은 Mac으로 진행합니다 * 진도 : 섹션3 - (4) ~ (5) 섹션3 - (3) 부분은 잘 사용하지 않는 jsp 부분이라 생략 (강의를 참고해주세요) * : 자바 클래스명, : 코드, : 단축키 1. 서블릿과 JSP Servlet JSP 코드 내 처리방법 자바 코드 속에서 HTML 태그로 문자열(””) 로 처리해야 함. HTML 속에서 자바코드를 또는 형태로 처리. (자바 소스코드로 작성된 부분은 웹 브라우저로 보내는 것이 아니라 웹 서버에서 실행됨) 한계(Servlet)와 보완(JSP) 1. 화면 인터페이스 구현에 너무 많은 코드를 필요로 하는 비효율성 2. 테스트할 때 빌드를 항상 다시해야 한다는 한계가 있음 3. HTML 변경 시 Servlet을.. 2023. 11. 8.
[스프링 MVC 1편] 3 - (2) 서블릿 회원 관리 웹 애플리케이션 * 스프링 입문은 Window로 스프링 MVC 1편은 Mac으로 진행합니다 * 진도 : 섹션3 - (2) * : 자바 클래스명, : 코드, : 단축키 1. 서블릿 회원 등록 (Form)_ [스프링 입문] 3 - (1), (3) 편 참고 [ src - java - hello - servlet - web - servlet - MemberFormServlet ] - 상속 extends HttpServlet 서블릿을 사용하기 위해 HttpServlet을 상속받는다 - 서블릿 생성 @WebServlet 해당 어노테이션에 경로를 입력하면 클라이언트에서 톰캣서버가 찾아서 실행한다 /servlet/members/new-form 입력하면 하위 메서드 실행 @WebServlet(name = "memberFormServle.. 2023. 11. 7.