티스토리 뷰

반응형

만약 서블릿만으로 HTML을 반환한다 하면 write로 하나 하나 html을 작성해야 한다 미친짓이다

 

JSP

JSP는 클라이언트가 요청을 한 후 서블릿 컨테이너를 거쳐 응답할 때

HTML 코드에 JAVA 코드를 넣어 동적 웹페이지를 생성하는 도구다

 

사실 서블릿과 JSP가 하는일은 동일하다

차이는 서블릿은 자바코드를 기반에 HTML 코드를 작성하여 읽고 쓰기가 불편한 반면에

JSP 같은 경우는 HTML기반에 자바코드를 작성하기 때문에 HTML 코드 즉 페이지를 위한 코드를 작성하기 간편하다

JSP 특징

WAS가 이미 만들어 놓은 객체(predefined values)를 사용할 수 있다 또한 사용자 정의태그 그리고 JSTL(JSP Standard Tag Library)를 사용하여 보다 효율적으로 웹사이트를 구성할 수 있다, 이를 스크립트 언어(Script Language)라고도 하는데 다른 응용 프로그램에 삽입되어서 동작하게 하는 프로그래밍 언어가 바로 스크립트 언어이다. Java , C++ 등과 같은 언어들이 컴파일 후에 독립적으로 작동하는 하나의 완전한 응용 프로그램인것과 비교하면 이해가 좀 더 쉽겠다

 

JSP 문법

JSP는 세가지 스크립트 요소를 제공한다

 

1.선언문(Declaration)

<%! %> :전역변수 선언 및 메서드 선언에 사용한다

id : <%=getId()%>

<%                              // Java Code
   String id = "m001";          // Variable
   public String getId() {      // Method
        return id;
   }
%>

 

2.스크립트릿(Scriptlet) <% %> : 가장 많이 쓰이는 스크립트 요소로

주로 프로그래밍의 로직에 사용한다 (스크립트릿에서 선언된 변수는 지역변수로 선언된다)

 

3.표현식(Expression) <%=%> : 화면에 출력할 내용에 사용

<%
  for(int i = 1; i <= 5; i++) {  // 분리해서 사용도 가능
%>
<span<%=i %>>Hello</H<%=i %>>
<%
 }
%>

 

JSP의 동작원리

 

1. 클라이언트가 HTTP 요청을 보낸다

2. 웹 서버는 HTTP 요청이 JSP 페이지에 대한 것임을 인식하고 이를 JSP 엔진에 전달한다 이는 .html 대신 .jsp로 끝나는 URL을 찾아 JSP페이지를 사용하여 실행된다

3. JSP 페이지에서 이를 서블릿 콘텐츠로 변환한다

4. JSP 엔진은 서블릿에서 실행 가능한 클래스 파일로 컴파일하고 원래 요청을 서블릿에게 전달한다

5. 서블릿 클래스를 로딩하여 실행하고 서블릿은 형식으로 출력을 생선한다 이 출력은 HTTP 응답 내에서 웹서버로 전달 된다

6. 웹서버로 전달된 HTML은 웹 브라우저에 출력되게 되고 HTTP 응답 내에서 동적으로 생성된 HTML 페이지를 마치 정적 페이지인 것처럼 처리하게 된다

 

반응형
댓글