본문 바로가기

MVC

(25)
[MVC] 프론트 컨트롤러 패턴 목차프론트 컨트롤러 패턴 소개프론트 컨트롤러 도입 - v1View 분리 - v2Model 추가 - v3단순하고 실용적인 컨트롤러 - v4유연한 컨트롤러1 - v5유연한 컨트롤러2 - v5 ✏️ 프론트 컨트롤러 패턴 소개 ❎ 프론트 컨트롤러 도입 전  ✅ 프론트 컨트롤러 도입 후  ✏️ FrontController 패턴 특징프론트 컨트롤러 서블릿 하나로 클라이언트의 요청을 받음프론트 컨트롤러가 요청에 맞는 컨트롤러를 찾아서 호출입구를 하나로!공통 처리 가능프론트 컨트롤러를 제외한 나머지 컨트롤러는 서블릿을 사용하지 않아도 됨 💡 스프링 웹 MVC와 프론트 컨트롤러스프링 웹 MVC의 핵심도 바로 FrontController스프링 웹 MVC의 DispatcherServlet이 FrontController 패..
[MVC] 서블릿, JSP, MVC 패턴 적용 목차회원 관리 웹 애플리케이션 요구사항서블릿으로 회원 관리 웹 애플리케이션 만들기JSP로 회원 관리 웹 애플리케이션 만들기MVC 패턴 - 개요MVC 패턴 - 적용MVC 패턴 - 한계 회원 관리 웹 애플리케이션 요구사항회원 정보이름: username나이: age기능 요구사항회원 저장회원 목록 조회 1️⃣ 회원 도메인 모델@Getter @Setter@AllArgsConstructorpublic class Member { private Long id; private String username; private int age; public Member() { }}  2️⃣ 회원 저장소/** * 동시성 문제가 고려되어 있지 않음, 실무에서는 ConcurrentHashMap, Atomic..
[MVC] 서블릿 목차HttpServletRequestHTTP 요청 데이터HttpServletResponseHTTP 응답 데이터 스프링 부트 서블릿 환경 구성✍ @ServletComponentScan@ServletComponentScan // 서블릿 자동 등록@SpringBootApplicationpublic class ServletApplication { public static void main(String[] args) { SpringApplication.run(ServletApplication.class, args); }}스프링 부트는 서블릿을 직접 등록해서 사용할 수 있도록 @ServletComponentScan 을 지원한다. 스프링이 자동으로 현재 내 패키지를 포함해서 하위 패키지를 다 뒤..
[MVC] 자바 백엔드 웹 기술 역사 자바 웹 기술 역사과거 기술 🌟서블릿 - 1997➙  개발자들이 TCP/IP 연결하고 멀티쓰레드 등등 고민할게 너무 많았음➙  자바코드로 짜야되서 동적으로 생성하기 너무 힘듬..➙  HTML을 동적으로 생성이 어려움 JSP - 1999 ➙  HTML 생성은 편리하지만, 비즈니스 로직까지 너무 많은 역할 담당➙  JSP 하나의 파일이 수천 줄 이상이 되어버리는 유지보수 난이도는.. 🤬  서블릿, JSP 조합 MVC 패턴 사용 ➙  모델, 뷰 컨트롤러로 역할을 나누어 개발➙  서로의 역할을 쪼갬➙  비즈니스 로직 부분과 화면을 렌더링하는 부분을 나눔  MVC 프레임워크 춘추 전국 시대 - 2000년 초 ~ 2010년 초➙ 비슷한 부분이 많은데 프레임워크 한번 만들어볼까?➙ MVC 패턴 자동화, 복잡한 웹..
[MVC] 웹 서버, 웹 애플리케이션 차이점 목차웹서버, 웹 애플리케이션서블릿동시 요청 - 멀티 쓰레드HTML, HTTP API, CSR, SSR  HTTP 메세지에 모든 것을 전송 HTML, TEXTIMAGE, 음성, 영상, 파일JSON, XML (API)거의 모든 형태의 데이터 전송 가능서버간에 데이터를 주고 받을 때도 대부분 HTTP 사용 클라이언트에서 서버로 데이터를 전송할 때, 서버에서 클라이언트로 데이터를 응답할 때모두 HTTP 프로토콜 기반으로 통신을 한다. 지금은 HTTP 시대라고 해도 무방하다.   웹 서버(Web Server)HTTP 기반으로 동작정적 리소스 제공, 기타 부가기능정적(파일) HTML, CSS, JS, 이미지, 영상대표적인 웹서버 예) NGINX, APACHE    웹 애플리케이션 서버(WAS - Web Applic..