일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
- JVM
- javascript
- tool
- redis
- it
- Git
- java
- jsp
- AWS
- Gradle
- Design Patterns
- IntelliJ
- devops
- Oracle
- 요리
- ubuntu
- ReactJS
- php
- jenkins
- springboot
- elasticsearch
- laravel
- 맛집
- MySQL
- Web Server
- Spring
- Spring Boot
- db
- Spring Batch
- linux
- Today
- Total
아무거나
[JSP] FrontController 패턴과 Command 패턴 본문
[JSP] FrontController 패턴과 Command 패턴
1. url-pattern : 긴 주소같은경우는 경로가 길며 보안상 문제가되므로 그것을 특정 단어로 서블릿 매핑을해서 매핑명으로 접근한다.
[디렉토리 패턴 ex] : 디렉터리 형태로 서버의 해당 컴포넌트를 찾아서 실행하는 구조
- http://localhost:8080/{contextPath}/Hello // /Hello 서블릿
- http://localhost:8080/{contextPath}/World // /World 서블릿
[확장자 패턴 ex] : 확장자 형태로 서버의 해당 컴포넌트를 찾아서 실행하는 구조
- http://localhost:8080/{contextPath}/Hello.do // *.do 서블릿
- http://localhost:8080/{contextPath}/World.do // *.do 서블릿
* 하나의 *.do 서블릿으로만 이동 즉, *.do로 매핑되어있는 서블릿으로만 이동
서블릿내에서 hello인지 world인지 구분한다.
2. FrontController 패턴
- 클라이언트의 다양한 요청을 한곳으로 집중시켜, 개발 및 유지보수에 효율성을 극대화 한다.
[이전 방식]
요청1 --> 요청1 처리 서블릿 -->
요청2 --> 요청1 처리 서블릿 --> DAO
요청3 --> 요청1 처리 서블릿 -->
* 이전에는 각각 으로 호출되었다.
[FrontController 방식]
요청1 -->
요청2 --> 모든 요청을 처리하는 서블릿 --> DAO
요청3 -->
* 분산되있는것을 하나로 뭉침으로 인하여 중복코드가 없어지며 개발하는데 집중할 수 있다.
3. Command 패턴
- 클라이언트로부터 받은 요청들에 대해서, 서블릿이 작업을 직접 처리 하지 않고, 해당 클래스가 처리하도록 한다.
-> 위의 2번 FrontController 방식에서 하나의 서블릿에서 각각의 조건절로 호출하는 경우를 나눠서 처리하기 위해 사용
[이전 방식(FrontController 방식)]
요청1 -->
요청2 --> 모든 요청을 처리하는 서블릿 --> DAO
요청3 -->
[Command 방식]
요청1 --> --> 요청1 처리 클래스(interface) -->
요청2 --> 모든 요청을 직접 처리하는 않는 서블릿 --> 요청2 처리 클래스(interface) --> DAO
요청3 --> --> 요청3 처리 클래스(interface) -->
참고: https://www.inflearn.com/course/%EC%8B%A4%EC%A0%84-jsp-%EA%B0%95%EC%A2%8C/dashboard
'Java & Kotlin > JSP & Servlet' 카테고리의 다른 글
[JSP] 포워딩(Forwarding) (0) | 2019.12.21 |
---|---|
[JSP] JSTL(JSP standard Tag Library) (0) | 2019.12.21 |
[JSP] EL(Expression Language) (0) | 2019.12.21 |
[JSP] 파일 업로드 (0) | 2019.12.21 |
[JSP] 커넥션 풀 (0) | 2019.12.21 |