본문으로 바로가기

JSP 개념 및 동작원리

category 프로그래밍/ JSP 2018. 7. 15. 18:01

Servlet은 JAVA언어를 이용하여 문서를 작성하고 , 출력객체를 이용하여 HTML 코드를 삽입함.
JSP는 Servlet과 반대로 HTML 코드에 JAVA 언어를 삽입하여 동적문서를 만들수 있다.

tip) jsp는 웹서버에서 처리되기 때문에 html에서 태그들이 보이지 않음

클라이언트가 웹브라우저로 test.jsp를 요청하게 되면 JSP 컨테이너가 JSP 파일을 Servlet파일(.java)로 변환한다. 그리고 Servlet 파일(.java)은 컴파일 된 후 클래스 파일(.class)로 변환되고 , 요청한 클라이언트에게 html 파일 형태로 응답된다.

1)웹브라우저 요청(http://localhost:8181/~/test.jsp
2)JSP->Servlet 변환 (test.jsp -> test_jsp.java)
3)Servlet->class 변환 (test_jsp.java -> test_jsp.class)
4)웹브라우저 응답(HTML형태로 응답)


클라이언트가 jsp를 요청 그럼 servlet이 있는지 확인
없다면 servlet.java , servlet.class를 만들고 메모리에 올린다음 실행한다.
그런 다음 또 요청이 들어오면 class가 있다는 것은 객체가 있다는 것이므로 
기존의 객체를 계송해서 사용. tip) servlet보다 jsp가 조금 느리다.
=>다른 CGI언어에 비해 빠르다.

JSP 내부객체? (request,out....)
개발자가 객체를 생성하지 않고 바로 사용할 수 있는 객체가 내부객체 이다.
JSP에서 제공되는 내부객체는 JSP 컨테이너에 의해 Servlet으로 변화될때 자동으로 객체가 생성됨