728x90

WEB/Spring MVC 1 7

스프링 MVC - 웹 페이지 만들기

PRG (Post Redirect GET) 패턴 상품저장 Controller를 호출하고 바로 상품상세 페이지를 보내준다. 새로고침은 마지막 요청을 다시하는 셈이다. 상품 등록 페이지에서 새로 고침을 할때마다 저장이 된다. 상품저장후 뷰 템플릿으로 이동하는것이 아니라 , 상품 상세 화면으로 리다이렉트를 호출해주면 된다. @PostMapping("/add") public String addItemV4(Item item) { itemRepository.save(item); return "basic/item"; } @PostMapping("/add") public String addItemV6(Item item, RedirectAttributes redirectAttributes) { Item savedItem..

WEB/Spring MVC 1 2022.07.08

스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술(스프링 MVC - 기본기능)

로그 간단히 알아보기 SL4J는 인터페이스이고 구현체로 Logback을 사용한다. Logback말고도 여러 다른 구현체가 존재한다. 2021-03-29 14:18:13.367 INFO 9304 --- [nio-8080-exec-1] hello_mvc1.demo.basic.LogTestController : info log = spring 이런식으로 여러 정보를 한꺼번에 보여준다. 또한 log.info 말고도 trace, debug ,info, warn, error 등등 을 쓸 수 있다. 뒤로 갈수록 심각도 가 높아지게되고 application.properties를 통해 설정을 할 수가 있다. log.trace("trace mylog{}, name) 이런 식으로 써야지 log.trace("trace myl..

WEB/Spring MVC 1 2021.03.30

스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술(스프링 MVC - 구조이해)

1. 핸들러조회 = 핸들러 매핑을 통해 요청 URL 에 매핑된 핸들러(컨트롤러)를 조회한다. 2. 핸들러 어댑터 조회 = 핸들러를 실행할 수 있는 핸들러 어댑터를 조회한다. 3. 핸들러 어댑터 실행 = 핸들러 어댑터를 실행한다. 4. 핸들러 실행 = 핸들러 어댑터가 실제 핸들러 를 실행한다. 5. ModelAndView반환 = 핸들러 어뎁터는 핸들러가 반환하는 정보를 ModelAndView로 변환해서 반환한다. 6. viewResolver 호출 = 뷰 리졸버를 찾고 실행한다. JSP의 경우 = InternalResourceViewResolver가 자동 등록되고, 사용된다. 7. View 반환 = 뷰 리졸버는 뷰의 논리 이름을 물리 이름으로 바꾸고, 렌더링 역할을 담당하는 뷰 객체를 반환한다. JSP의 경..

WEB/Spring MVC 1 2021.03.29

스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술(MVC 프레임워크 만들기)

FrontController 프론트 컨트롤러의 도입함으로써 하나의 입구를 만들어 공통된 기능을 용이하게 처리할 수 있다. 프론트 컨트롤러를 제외한 나머지는 서블릿을 사용하지 않아도 된다. 스프링 웹 MVC의 DispatcherServlet이 FrontController 패턴으로 구현되어 있음. @WebServlet(name = "frontControllerServletV1", urlPatterns = "/front-controller/v1/*") public class FrontControllerServletV1 extends HttpServlet { private Map controllerMap = new HashMap(); public FrontControllerServletV1() { control..

WEB/Spring MVC 1 2021.03.29

스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술(서블릿,JSP,MVC패턴)

서블릿과 JSP의 한계 서블릿으로 개발할 때는 view 화면을 위한 html 을 만드는 작업이 자바코드에 섞여가지고 지저분하고 복잡. JSP 경우 코드의 상위 절반은 비즈니스로직이고 나머지 하위 절반은 HTML 보여주기위한 view영역이다. JSP가 너무 많은 역할을 담당한다. 유지보수 HELL MVC 패턴의 등장 Controller = HTTP 요청을 받아서 파라미터를 검증하고, 비즈니스 로직을 실행한다. 그리고 뷰에 전달할 결과 데이터를 조회해서 모델에 담는다. Model = 뷰에 출력할 데이터를 담아둔다. 뷰가 필요한 데이터를 모두 모델에 담아서 전달해주는 덕분에 뷰는 비즈니스 로직이나 데이터 접근을 몰라도 되고, 화면을 렌더링 하는 일에 집중할 수 있다. View = 모델에 담겨있는 데이터를 사용..

WEB/Spring MVC 1 2021.03.28

스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술(서블릿)

@Override protected void service(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { System.out.println("HelloServlet.service"); System.out.println("request = " + request); System.out.println("response = " + response); } request = org.apache.catalina.connector.RequestFacade@49a07c45 response = org.apache.catalina.connector.ResponseFacade@67b0b9cb 여러가지..

WEB/Spring MVC 1 2021.03.27

스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술(웹 애플리케이션 이해)

웹 서버 , 웹 애플리케이션 서버 웹 서버(Web Server) HTTP기반으로 동작 정적 리소스 제공 , 기타 부가기능 정적(파일) Html, css ,js , 이미지 , 영상 예) NGINX, APACHE 웹 애플리케이션 서버 (WAS web application server) HTTP 기반으로 동작 웹서버 기능 포함 + (정적 리소스 제공 가능) 프로그램 코드를 실행해서 애플리케이션 로직 수행 사용자의 요청에따라 다른것들을 보낼 수 있다 동적 html , html api(json) 서블릿,jsp,스프링 mvc 예) tomcat, jetty, undertow 차이 웹 서버는 정적 리소스(파일), WAS 는 애플리케이션 로직 사실은 둘의 용어도 경계도 모호함 웹 서버도 프로그램을 실행하는 기능을 포함하..

WEB/Spring MVC 1 2021.03.27
728x90