일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- django httpd error
- django 프로젝트 시작
- django The requested operation has failed!
- APPEND_SLASH = FALSE
- 1188 java
- apache pythonpath
- 2961 java
- django 웹 페이지
- 공유기 원격 설정
- django windows 배포 에러
- 2961 도영이가 만든 맛있는 음식
- java di
- 2643 java
- 18233 java
- The requested operation has failed!
- windows apache wsgi 에러
- Problems occurred while performing provisioning operation
- 18233 비트마스킹
- 원격 연결 포트 포워딩
- django apache deploy error
- 18233 러버덕
- 2661 좋은 수열
- 14711 java
- windows 원격 연결 설정
- 1188 음식 평론가
- 14711 타일 뒤집기
- django settings.py
- 2661 java
- 2643 색종이 올려 놓기
- django
라이브러리는 도서관 아닌가요
JSP 1 - 웹 서버의 동작 (Web, WAS, Servlet) 본문
실행 흐름
사용자 → request → 웹 서버 → WAS → web/server app의 코드 실행 → DB 결과 반환 → WAS → 웹 서버 → response → 사용자
여기서 말하는 웹 서버(Web Server)란?
Apache, Nginx 같은 프로그램으로 사용자의 요청을 가장 먼저 받는 녀석이다.
1. 정적 데이터 요청 → 바로 응답
2. 동적 데이터 요청 → WAS에게 위임 → WAS가 처리 후 웹 서버한테 반환 → 응답
Servlet이란?
각각의 read, update, delete 따위에 대한 사용자 요청을 처리를 하는 server application 조각들이다.
html을 이용하여 응답하며, MVC에서 Controller와 대응된다.
왜 이렇게 조각을 내서 사용할까?
당연히 성능이랑 관련이 있다.
매번 요청이 들어올 때마다,
모든 기능을 일일이 로드시키지 않아도 되기 때문이다.
<예시>
www.이것이웹주소다.com/컨텍스트따위/서블릿1번
www.이것이웹주소다.com/컨텍스트따위/서블릿2번
www.이것이웹주소다.com/컨텍스트따위/read
www.이것이웹주소다.com/컨텍스트따위/delete
Tomcat
일반적으로 Java 웹 개발을 할 때 사용되는 WAS 프로그램이다.
WAS
동적으로 데이터를 제공하기 위한 어플리케이션 서버이다. (ex. DB 조회)
JSP/Servlet 따위가 동작하기 위한 환경을 제공한다.
서블릿 컨테이너라고도 한다.
다시 말해 이 컨테이너가 JSP/Servlet을 실행시킨다.
그리고 웹 서버와
httpServletRequest와 httpServletResponse 객체를 통해 대화한다.
httpServletRequest == 입력 담당
httpServletResponse == 출력 담당
'Java > JSP' 카테고리의 다른 글
JSP 6 - 서블릿의 필터 (filter) (0) | 2022.01.08 |
---|---|
JSP 5 - form 태그 POST 요청, HttpServletRequest의 메서드 (0) | 2022.01.05 |
JSP 4 - GET 쿼리스트링 ( GET Query String ) (0) | 2022.01.04 |
JSP 3 - @WebServlet 어노테이션, 프로젝트 생성 (0) | 2022.01.04 |
JSP 2 - Context, Servlet Class (0) | 2022.01.04 |