-
* JSP란 (JavaServerPages)
- HTML 코드에 Java 코드를 넣어 동적웹페이지를 생성하는 웹 애플리케이션 도구.
- 기존의 단순한 HTML에 자바 코드를 사용하여 동적으로 웹브라우저를 관리 할 수 있게 해준다.
- 기존 servlet 기능 + 추가적인 기능(Implicit objects, predefined tags, expression language, custom tags 등)
* JSP의 장점 및 기능
1. Java 기반이기 때문에 윈도우, 리눅스 등 운영체제에 상관없이 사용할 수 있다.
2. JPS로 Thread 기능을 사용하여 클라이언트가 요구하는 메모리를 최초 한 번만 로드하여, 다른 사용자 같은 내용을 요구할때 Thread를 재사용하여 응답(Response) 해줍니다.
3. JSP를 통해 클라이언트의 요구(contents)에 맞게 동적인 웹 페이지를 사용할 수 있다.
4. JSP가 실행되면 WAS(Web Application Server)는 내부적으로 JSP파일을 JavaServlet(.java)로 변환한다.
WAS는 이 변환한 Servlet을 동작하여 필요한 기능을 수행한다.
- Servlet의 동작
1) WAS는 사용자 요청에 맞는 Servlet 파일을 컴파일(.class 파일 생성) 한다.
2) .class 파일을 메모리에 올려 Servlet 객체를 생성한다.
3) 메모리에 로드될 때 Servlet 객체를 초기화하는 init() 메서드가 실행된다.
4) WAS는 Request가 올때마다 thread를 처리한다.
5) 각 thread는 Servlet의 단일 객체에 대한 service() 메서드를 실행한다.
6) service() 메서드는 요청에 맞는 적절한 메서드(doGet, doPost 등)를 호출한다.
수행 완료 후 생성된 데이터를 웹 페이지와 함께 클라이언트로 전달한다.
이러한 jsp와 servlet 기술을 적용시켜 동적인 웹사이트를 구현하는게 WAS(Web Application Server) 이며,
jsp와 servlet등을 실행시킬 수 있는 소프트웨어를 '웹 컨테이너'라고 한다.WAS(Web Application Server) = Web server + Web container
p.s
apache - 소프트웨어 단체 이름이며, 이 재단이 후원하는 오픈소스 프로젝트 커뮤니티에서 만든 http웹서버를 말한다.
tomcat - apache 소프트웨어 재단의 어플리케이션 서버로서, java servlet또는 jsp코드가 포함된 웹페이지를 만들어준다.
'개념정리' 카테고리의 다른 글
JAVA 뜯어보기! (0) 2023.04.21