전체글(118)
-
4. MVC 프레임워크 만들기
[목차] 프론트 컨트롤러 패턴이란? Version 1. 프론트 컨트롤러 도입 Version 2. View 분리Version 3. Model 추가 Version 4. 단순하고 실용적인 컨트롤러 Version 5. 유연한 컨트롤러 (어댑터 도입) * 참고로 JSP는 이전 포스팅의 파일 그대로 재사용프론트 컨트롤러 패턴이란?프론트 컨트롤러 서블릿 하나로 클라이언트의 요청을 받음. 입구를 하나로!프론트 컨트롤러가 요청에 맞는 컨트롤러를 찾아서 호출앞에서 공통적인 처리가 가능프론트 컨트롤러를 제외한 나머지 컨트롤러는 서블릿을 사용하지 않아도 됨 즉, 컨트롤러가 서블릿 기술을 몰라도 작동할 수 있다. 스프링 웹 MVC의 DispatcherServlet이 FrontController 패턴으로 구현되어 있음 Versi..
2025.04.24 -
3. 서블릿, JSP, MVC 패턴
[목차] 1. 회원 관리 웹 애플리케이션 요구사항2. 서블릿으로 웹 애플리케이션 만들기3. JSP로 웹 애플리케이션 만들기4. 서블릿과 JSP를 사용한 MVC 패턴으로 웹 애플리케이션 만들기 1. 회원 관리 웹 애플리케이션 요구사항기능 요구사항: 회원 저장, 회원 전체 목록 조회회원 정보: 이름, 나이 @Getter @Setterpublic class Member { private Long id; private String username; private int age; public Member(String username, int age) { this.username = username; this.age = age; } public Mem..
2025.04.22 -
2. 서블릿
1. 서블릿 1) 서블릿 컨테이너 동작 방식 웹 브라우저에서 HTTP 요청 메시지가 전달됨-> 서버에서 HTTP 요청 메시지를 기반으로 request, response 객체 생성 -> 서블릿 컨테이너에 요청 전달해서 요청 url에 맞는 서블릿 객체 받아서 실행-> 서블릿에서 response 객체에 데이터 세팅-> 서버에서 response 객체 정보로 HTTP 응답 메시지 생성-> 웹 브라우저에 HTTP 응답 메시지 전달 2) 서블릿 클래스 기본 코드 @WebServlet(name = "helloServlet", urlPatterns = "/hello")public class HelloServlet extends HttpServlet { @Override protected void servic..
2025.04.21 -
1. 웹 애플리케이션 이해 (2)
[목차]1. 웹 서버, 웹 애플리케이션 서버2. 웹 애플리케이션 서버의 역할: HTTP 메시지 처리와 서블릿 컨테이너 3. 서블릿4. 동시 요청 - 멀티 쓰레드5. HTML, HTTP API, CSR, SSR6. 자바 백엔드 웹 기술 역사5. HTML, HTTP API, CSR, SSR1) 서버 → 클라이언트로 보내는 데이터 종류정적 리소스변하지 않는 파일HTML, CSS, JavaScript 파일, 이미지 파일 등이 이에 해당HTML 문서 → SSR 방식서버에서 동적으로 필요한 HTML 파일을 완성해서 브라우저에 전달서버는 JSP, 타임리프와 같은 뷰 템플릿 엔진을 사용하여 동적 HTML을 만든다 JSON, XML 등 순수 데이터 (HTTP API 응답) → CSR 방식 화면이 아닌 순수 데이터만 전달..
2025.04.17 -
1. 웹 애플리케이션 이해 (1)
[목차]1. 웹 서버, 웹 애플리케이션 서버2. 웹 애플리케이션 서버의 역할: HTTP 메시지 처리와 서블릿 컨테이너 3. 서블릿4. 동시 요청 - 멀티 쓰레드5. HTML, HTTP API, CSR, SSR6. 자바 백엔드 웹 기술 역사1. 웹 서버, 웹 애플리케이션 서버1) HTTP인터넷이란? 전 세계 컴퓨터들을 하나로 연결하는 거대한 컴퓨터 통신망. 모든 데이터가 이 망을 통해 전달된다. 웹이란? 인터넷 위에서 동작하는 하나의 서비스. 인터넷에 연결된 사용자들이 웹 브라우저(크롬, 사파리 등)를 통해 정보를 주고받는 공간이다. HTTP란? 웹 브라우저와 웹 서버가 서로 데이터를 주고받는 통신 규칙웹 브라우저가 서버에게 요청(Request)하면, 서버는 HTML, JSON 같은 데이터를 응답(Resp..
2025.04.17 -
7. 빈 스코프
1. 빈 스코프란?빈 스코프란 빈이 존재할 수 있는 범위를 뜻한다. 스프링은 다음와 같은 다양한 빈 스코프를 지원한다. 싱글톤: 디폴트 스코프, 스프링 컨테이너의 시작과 종료까지 유지되는 가장 넓은 범위의 스코프프로토타입: 스프링 컨테이너가 빈의 생성과 의존관계 주입, 초기화까지만 관여하고 더는 관리하지 않는 짧은 범위의 스코프웹 관련 스코프request: 웹 요청이 들어오고 나갈 때까지 유지되는 스코프session: 웹 세션이 생성되고 종료될 때까지 유지되는 스코프application: 웹의 서블릿 컨텍스트와 같은 범위로 유지되는 스코프 빈 스코프 별 용도 singleton대부분의 서비스, 리포지토리 등재사용 + 메모리 효율 좋음prototype매번 새로운 객체가 필요할 때 예: 사용자 요청마다 새로운..
2025.04.15