마트철수
[060] FrontController 그리고 Spring 시작 본문
2024.08.01(목)
JSP, Selvlet 5일차
드디어 Spring에 들어갔다!
템플릿을 만들어두고, 다음주부터 제대로 배울 예정이다.
이번주는 JSP 이해부터 ..
JSP, selvlet
PART01 시작하기
- CH01.1 웹 애플리케이션 개요
- CH01.2 웹 애플리케이션 프로젝트
PART02
- CH02.3 JSP 문법
PART03
- CH03.1 HTML5 Form 태그화 서블릿
- CH03.2 필터
PART04
- CH04.1 서블릿 고급 - 세션, 쿠키
- CH04.2 요청 포워딩, 리다이렉트
PART05
- CH05 EL, JSTL
- FrontController
ch06 FrontController
- 모든 요청을 받고, 요청의 종류에 따라 작업을 분기하는 Dispatecher Sevlet
- MVC 패턴에서 제일 앞 단에 위치
- ~.jsp를 통해서 다이렉트로 JSP에 접근하지 못하게 막아야함 → 이제 Servlet을 통해서만 호출 가능


FrontControlerServlet
- 컨트롤러: 실제 요청을 처리하고 흐름을 제어하는 역할
- 각 메서드는 Command 인터페이스와 일치하게 작성
- value 뒤 코드가 중요함 → 모든 요청을 받아주겠다
@WebServlet(name = "frontControllerservlet", value = "/") - (1) 디렉토리 기반(/board) (2) 확장명 기반(*.do)
- CLI에서 Menu의 역활을 하는 서블렛
- GET, POST 요청을 받아와서 init으로 초기화
public class FrontControllerServlet extends HttpServlet { Map<String, Command> getMap; Map<String, Command> postMap; public void init(){ getMap = new HashMap<>(); postMap = new HashMap<>(); } - 사용자 요청 식별 방법
- url 구성 => context명은 제외하고, 식별값 부분만 요청해서 가져온다
- 아래와 같이 context명을 추출한다(이미지)
http://서버IP번호:포트번호/context명/경로(식별값)

Command
- 상속받는 클래스는 모두 execute를 구현해야함
- 리턴값을 String
HomeController
- view 이름: index; → /views/index.jsp
public class HomeController {
public String getIndex(HttpServletResponse response, HttpServletRequest request) throws IOException{
return "index";
}
}
※ 요청이 오면 4가지 방법으로 해결할 수 있다.
- getParameter() → DTO 객체
- 서비스로직 실행
- 결과 scope 저장
- forward/redirect
Spring
개발 환경 구축


Spring 기본 templat-StringLegacy 만들어두기
(복습)
'KB IT's Your Life > 교육' 카테고리의 다른 글
| [062] 스프링 MVC의 Controller (1) | 2024.08.05 |
|---|---|
| [061] 알고리즘: 백트래킹 (1) | 2024.08.02 |
| [059] EL과 JSTL (0) | 2024.07.31 |
| [058] 세션, 쿠키, 포워딩 (0) | 2024.07.30 |
| [057] JSP 그리고 HTML5 Form 태그화 서블릿 (0) | 2024.07.29 |