본문 바로가기

BackEnd : Spring/Spring MVC

(12)
[Spring MVC] HelloServlet, HttpServletRequest @ServletComponentScan // 서블릿 자동 등록 @SpringBootApplication public class ServletApplication { public static void main(String[] args) { SpringApplication.run(ServletApplication.class, args); } } HelloServlet.java package hello.servlet.basic; import jakarta.servlet.ServletException; import jakarta.servlet.ServletRequest; import jakarta.servlet.ServletResponse; import jakarta.servlet.annotation.WebSe..
[Spring MVC] 자바 백엔드 웹 기술 역사 과거 기술 서블릿 - 1997 : HTML 생성이 어려움 JSP - 1999 : HTML 생성은 편리하지만, 비즈니스 로직까지 너무 많은 역할 담당 서블릿, JSP 조합 MVC 패턴 사용 : 모델, 뷰 컨트롤러로 역할을 나누어 개발 MVC 프레임워크 춘추 전국 시대 - 2000년 초 ~ 2010년 초 MVC 패턴 자동화, 복잡한 웹 기술을 편리하게 사용할 수 있는 다양한 기능 지원 스트럿츠, 웹워크, 스프링 MVC(과거 버전) 현재 사용 기술 애노테이션 기반의 스프링 MVC 등장 : @Controller 스프링 부트의 등장 스프링 부트는 서버를 내장 과거에는 서버에 WAS를 직접 설치하고, 소스는 War 파일을 만들어서 설치한 WAS에 배포 스프링 부트는 빌드 결과에 WAS 서버 포함 -> 빌드 배포 단..
[Spring MVC] HTML, HTTP API, CSR, SSR 정적 리소스 고정된 HTML 파일, CSS, JS, 이미지, 영상 등을 제공 HTML 페이지 동적으로 필요한 html 파일 생성해서 전달, 웹 브라우저는 html 해석 HTTP API html이 아니라 데이터를 전달, 주로 JSON 형식 사용 UI 클라이언트 접점 : 앱 클라이언트, 웹 브라우저/클라이언트 서버 to 서버 SSR - 서버 사이드 렌더링 서버에서 최종 HTML을 생성해서 클라이언트에 전달 주로 정적인 화면에 사용 JSP, 타임리프 CSR - 클라이언트 사이드 렌더링 HTML 결과를 자바스크립트를 사용해 웹 브라우저에서 동적으로 생성해서 적용 주로 동적인 화면에 사용, 웹 환경을 마치 앱 처럼 필요한 부분부분 변경할 수 있음 React, Vue.js CSR + SSR 동시에 지원하는 웹 프레..
[Spring MVC] WAS, 서블릿, 쓰레드 📌 웹 서버, 웹 애플리케이션 서버 모든 것이 HTTP : HTTP 메시지에 모든 것을 전송 웹 서버(Web Server) HTTP 기반으로 동작 정적 리소스 제공, 기타 부가기능 정적(파일) HTML, CSS, JS, 이미지, 영상 웹 애플리케이션 서버(WAS) HTTP 기반으로 동작 웹 서버 기능 포함 + 정적 리소스 제공 기능 프로그램 코드를 실행해서 애플리케이션 로직 수행 웹 서버, WAS 차이 웹 서버는 정적 리소스, WAS는 애플리케이션 로직 사실은 둘의 용어도 경계도 모호함 자바는 서블릿 컨테이너 기능을 제공하면 WAS WAS는 애플리케이션 코드를 실행하는데 더 특화 웹 시스템 구성 - WAS, DB WAS가 너무 많은 역할을 담당, 서버 과부하 우려 가장 비싼 애플리케이션 로직이 정적 리소..