용어정리
서버 > 웹서버 , 응답자
응답에 대한 처리를 담당한다. 웹 프로그래머의 역할이라고 볼 수 있겠다.
클라이언트 > 웹 브라우저 , 요청자
사용자는 주소란을 이용해서 정보를 요청한다.
우리가 주소 창에 https://www.naver.com 을 입력한다는 것은
naver 서버 측에 정보를 요청한다고 볼 수 있다.
톰캣( = WAS : Web Application Server )
자바로 작성된 소스가 웹으로 출력될 수 있도록 번역한다.
톰캣은 테스트용으로 사용되는 web Server이며, 최대 50명 까지만 접속 가능하다.
Servlet
웹 브라우저가 정보를 요청할 때 바로 자바로 응답할 수는 없다.
웹 브라우저의 응답을 받기 위해서는 서블릿 또는 JSP로 먼저 받아야 한다.
JAVA | 중간 연결 Servlet | HTML (웹) |
과거에는 주로 서블릿을 이용했다. 하지만 out.print( ) 를 한줄 한줄 붙여가며 입력을 해야했기에 사용이 너무 불편했고 사용자들의 원성이 빗발쳤다고 한다. 그렇게 생겨난 것이 이어서 설명 할 JSP 이다.
서블릿은 앞서 말했듯이 효율성은 떨어지지만,
보안에 뛰어나서 자바와 관련된 코딩은 서블릿을 이용한다.
JSP
Java Server Page
이름 뜻 그대로 서버에서 실행하는 자바 페이지이다.
만약 사이트의 페이지 수가 100page라면 jsp 파일을 100번 만든다고 생각하면 된다.
HTML, CSS, JavaScript 사용에 편리하다. 주로 View 화면 출력용으로 사용된다.
JSP는 동적 페이지를 생성하기 위한 서버 측 스크립트 언어이다. (단순한 언어)
JSP는 전체 소스를 전송하기 때문에 보안에 취약하다.
때문에 자바 코딩을 할 때 데이터가 담겨있는 클래스를 따로 구분하는 과정이 필요하다.
JSP의 동작 과정
1) 웹 클라이언트 = 웹 브라우저 = 사용자는
브라우저 주소 창을 이용하여 정보(파일)을 요청한다. 예를 들어 네이버의 날씨 정보가 궁금하다면, 주소 창에 https://www.naver.com 을 입력하여 네이버 사이트로 이동하려 할 것이다. 이렇게 주소 창에 url을 입력하면서 브라우저는 서버에서 정보를 요청한다.
2) 웹 서버는
클라이언트에서 요청한 파일을 찾는다. NAVER사의 서버에서는 클라이언트에서 요청한 https://www.naver.com 화면을 응답하기 위한 과정을 거친다.
html, xml, json 파일은 자체적으로 처리 가능하지만 jsp, php, asp 파일은 자체적으로 처리가 불가능하기 때문에 무조건 html로 변경 하는 과정이 필요한다. 이러한 과정을 수행하도록 하는 것이 웹 어플리 케이션(WAS) 이다.
3) 웹 서버에서 톰캣으로 번역을 요청한다.
만약 사용자가 요청한 파일 형태가 .jsp 라고 가정해보자. 서버는 java파일을 바로 번역 할 수 없기 때문에 톰캣의 도움을 받기로 한다.
- 톰캣은 .jsp 파일을 java파일로 변경한다.
- 변경된 java파일을 컴파일 한다. (javac)
- 컴파일된 파일을 실행한다. (java)
- HTML 부분 만 메모리에 출력한다. (출력버퍼)
4) 요청한 브라우저(웹 클라이언트) 에서 HTML 파일을 읽어 간다.
HTML 태그로 구성된 페이지가 화면에 출력된다.
'JSP(MVC)' 카테고리의 다른 글
미완성[JSP] session과 cookie 총정리 (쿠키 사용법) (0) | 2022.08.10 |
---|---|
[JSP] 중요!!!! MVC 구조가 필요한 이유와 기능 + DAO, DTO, VO 구분 (0) | 2022.07.26 |
미완성[JSP] request와 response 정리하기 (0) | 2022.07.19 |
[JSP] 지시자의 종류 #145 (0) | 2022.07.18 |
[JSP] JSP 완벽 정리 (0) | 2022.07.15 |