-JSP는 Java Server Page의 약어로서 HTML태그에 자바로 프로그래밍하여 브라우저에 보여주는 페이지이다.
인터넷을 사용하는 사용자에게 정보를 제공하기 위해서는 HTML 태그를 사용하여 웹 브라우저 내에 정보를
표시하는데 JSP에서는 이러한 HTML 태그를 사용할 수 있어 웹 어플리케이션의 프레젠테이션(View의 역할)
역할을 한다. JSP는 JSP에서만 사용 가능한 다양한 태그(예를들면 스크립트릿과 같은)을 이용하여 쉽게
웹 프로그래밍을 할 수 있도록 한다.
JSP에서 HTML태그 사이에 <% %>를 추가하려면 JSP파일로 작성해야 한다.
그리고 JSP파일은 HTML파일과 다르게 동작을 하는데 HTML파일은 확장자가 html이고 이는 웹 브라우저 내의
번역기가 돌리는 반면 JSP파일은 톰캣 서버가 번역하여 그 결과를 HTML 태그로 변환하여 웹 브라우저로 내려 보낸다.
컨텍스트 패스는 여러 개의 웹 어플리케이션이 WAS에서 동작할 경우 이를 구분하기 위해 사용한다.
이클립스가 자동으로 만들어주는 컨텍스트 패스는 프로젝트 이름과 동일하다.
다음은 JSP를 요청하기 위한 URL이다.(http: //localhost:8080/webapp/jspEx/Ex1.jsp)
프로젝트 생성시 입력하는 프로젝트 이름은 개발자 입장에서 개발을 위해서 생성된 파일들을 관리하기 위한 폴더이고
컨텍스트 패스는 사용자가 해당 웹 어플리케이션을 사용하기 위해서 접근하는 경로가 된다.
경우에 따라서는 개발자는 컨텍스트 패스 이름을 웹 프로젝트 이름과는 다른 이름으로 바꿀 수 있다.
예문
<html>
<body>
<%
int su1 = 20;
int su2 = 10;
int sum = su1 + su2;
out.println(su1 + " + " + su2 + "=" + sum);
%>
</body>
</html>
JSP의 처리과정(서블릿과 JSP)
-JSP로 만들어진 예제를 보면 결과물로 놓고 보았을 때 서블릿과 별반 다른 일을 하지 않는다.
자바 기반으로 웹 어플리케이션을 작성하기 위한 도구로 서블릿이 먼저 만들어졌다. 하지만 서블릿은
HTML코드가 자바 코드 안에 들어가는 구조이다. 디자이너가 자바를 이해하지 못한 채 HTML코드를 자바
형태인 서블릿에서 작성한다는 것은 거의 불가능한 일이다.
이러한 문제점 때문에 등장한 것이 JSP이다.
JSP는 HTML문서에 자바 코드가 들어가는 구조이기 때문에 서블릿보다는 JSP로 개발하는 편이 훨씬 쉽고 간단하다.
[처리과정]
개발자가 JSP를 작성 -> MyJSP.jsp파일을 만들고 -> 웹 컨테이너가 서블릿으로 변환한다. -> MyJSP_jsp.java 클래스파일로 변환.
[웹 컨테이너가 JSP를 변환하여 만들어 낸 서블릿 코드 순서]
HttpJspBase의 하위 클래스를 생성 -> 요청에 대해 응답하는 _jspService()를 만든다 -> JSP를 작성할 때 쓰는 out과 request와 같은 내장 객체를 선언한다. -> 내장 객체를 생성한다. -> JSP에 있는 HTML코드, 스크립트릿을 출력 스트림