드디어 웹 사이트(매우매우매우 간단한..)에서의 동작과 함께 서비스를 만들어보자.매우 간단하게 상품을 등록하고, 상세화면을 보고, 목록을 조회할 수 있는 사이트이다. 서비스의 흐름은 아래와 같다. 프로젝트가 작은 규모의 경우웹 퍼블리셔가 디자이너에게 받은 디자인을 기반으로 HTML, CSS를 만들어 백엔드 개발자에게 제공한다.백엔드 개발자는 웹 퍼블리셔를 통해 화면이 나오기 전까지 시스템을 설계하고, 비즈니스 모델을 개발이후 HTML이 나오면 이 HTML을 뷰 템플릿으로 변환해서 동적으로 화면을 그리고, 또 웹 화면의 흐름을 제어한다. 참고React, Vue.js 같은 웹 클라이언트 기술을 사용하고, 웹 프론트엔드 개발자가 별도로 있으면, 웹 프론트엔드 개발자가 웹 퍼블러셔 역할까지 포함해서 하는 경우..
프로젝트 생성Packaging → War / JarJSP를 사용하지 않기 때문에 Jar를 사용하는 것이 좋음.앞으로 스프링 부트 사용 시 이 방식으 ㄹ주로 사용JARJava Archive용도: 독립 실행 가능한 애플리케이션 패키징내장 서버: Tomcat, Jetty 등의 내장 서버 포함구조: 표준 Java 클래스 파일들과 리소스, 의존성 라이브러리 포함배포: 별도의 웹 서버/WAS 없이 단독 실행 가능Spring Boot: 기본적으로 JAR 패키징 권장WARWeb Application Archive용도: 웹 애플리케이션을 외부 서버에 배포하기 위한 패키징외부 서버: Tomcat, JBoss, WebLogic 등 외부 WAS에 배포실행 방식: WAS의 webapps 디렉토리에 배포 후 서버 시작구조: WE..
지난 번 MVC 프레임워크 구조를 직접 설계했다. 직접 만든 MVC 프레임워크 구조 실제로 사용되는 SpringMVC의 구조는 어떨까? 사실 구조상의 이름만 다를 뿐 크게 구조에서 차이점을 보이지 않는다.직접 만든 프레임워크스프링 MVCFrontControllerDispatcherServlethandlerMappingMapHandlerMappingMyHandlerAdapterHandlerAdapterModelViewModelAndViewviewResolverViewResolverMyViewViewDispatcherServlet 구조org.springframework.web.servlet.DispatcherServlet스프링 MVC도 프론트 컨트롤러 패턴으로 구현.스프링 MVC의 프론트 컨트롤러 → D..
지난 시간 MVC에 대한 개요를 봤었다.다만, 반복되는 작업이 많았고 이를 사용하기 편리하게 하기 위함으로 프론트 컨트롤러 패턴이라는 것을 소개했었다. 즉, MVC에서 Controller가 역할을 수행하기 전 공통 기능을 처리하기 위한 장치(수문장)를 마련하자! 라는 것을 소개했었는데, 이번시간 그것을 구현해보는 과정을 가진다.프론트 컨트롤러 패턴이전에는 클라이언트가 ControllerA, B, C를 각각 사용하기 위해선 Controller에서 각각에 맞는 공통 처리를 다 해줬어야 했다. 이제 공통 기능 처리를 위한 프론트 컨트롤러를 도입하게 된다면 이와 같이 공통 부분을 미리 Front Controller에서 처리해준 뒤, 각각의 요청에 맞는 컨트롤러를 찾아서 호출해주게 된다. 즉, 프론트 컨트..
오늘은 서블릿을 이용해보면서 점차 JSP → MVC로 넘어가는 시간이다. 우선 전체적인 코드를 아래의 간단한 프로그램을 통해 알아보았다.회원 가입 웹 애플리케이션 요구사항회원 정보이름: username나이: age기능 요구사항회원 저장회원 목록 조회 전체 코드는 포스팅하지 않을 계획이다.서블릿으로만… 해보았었을 때어떤 불편한 점이 있었을까?물론 동적인 HTML을 만들 수 있어 좋았다.다만…매우 복잡하고 비효율적이다. 자바 코드로 HTML을 만들어 내는 것보다 차라리 HTML 문서에서 동적으로 변경하는 것이 더욱 나은 것 같다고 생각이 들 정도로…이것이 바로 템플릿 엔진이 나온 이유다. 템플릿 엔진을 사용하면 HTML 문서에서 필요한 곳만 코드를 적용해서 동적으로 변경할 수 있다.예: JSP, Thymel..
Hello 서블릿스프링 부트 환경에서 서블릿을 등록하고 사용해본다.서블릿은 톰캣 같은 웹 애플리케이션 서버를 직접 설치하고, 그 위에 서블릿 코드를 클래스 파일로 빌드해서 올린다.그런 다음 톰캣 서버를 실행하면 된다.하지만, 이 과정은 매우 번거롭다.스프링 부트는 톰캣 서버를 내장하고 있으므로, 톰캣 서버 설치 없이 편리하게 서블릿 코드를 실행할 수 있다.스프링 부트 서블릿 환경 구성@ServletComponentScan스프링 부트는 서블릿을 직접 등록해서 사용할 수 있도록 @ServletComponentScan 을 지원.다음과 같이 추가할 수 있다.package hello.servlet;import org.springframework.boot.SpringApplication;import org.spri..
1. 웹 애플리케이션 이해날짜: 2025년 6월 27일과목: 개발 · 프로그래밍 / 백엔드 스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술유형: 개인공부상태: Done웹 서버, 웹 애플리케이션 서버란?웹 - HTTP 기반이번 컴퓨터공학부 네트워크 시간에 HTTP에 대해서 학습을 했었다.HyperText Transfer Protocol웹에서 데이터를 주고받기 위한 프로토콜이다.클라이언트 - 서버 모델을 기반으로 하며, Request → Response 방식으로 동작한다.Stateless 특성을 가지고 있다.간략히 말해 Stateless이기 때문에 cost가 덜 든다.이와 같은 기능을 만족하기 위해 cookie와 같은 기술을 도입한다.주요 HTTP 메서드로는GET, POST, PUT, PATCH, DELE..