JSP

2020-01-29

해당 Post는 JSP 기초를 정리한 파일입니다.


JSP (JavaServer Pages ) 란 무엇인가?

JSP(JavaServer Pages) 는 웹사이트를 보다 쉽게 구축할수 있도록 만들어주는 서버사이드 스크립트 언어입니다.

간단히 요약하자면 = HTML 코드에 Java 코드를 넣어 동적인 웹 페이지를 생성하는 웹 어플리케이션 도구

일단 실행되면 JSP 문서는 백그라운드에서 자바 서블릿(Servlet) 으로 변환되며 웹 어플리케이션 서버에서 동작되면서 필요한 기능을 수행하고

그렇게 생성된 데이터를 웹페이지와 함께 클라이언트로 응답하게됩니다.

처음 JSP파일을 만들게 되면 HTML 파일하고 굉장히 유사합니다. (윗부분이 많이 다르지만..)

JSP가 실행되면 WAS는 내부적으로 JSP 파일을 Java Servlet(.java)으로 변환한다.

즉, JSP 자체가 동작하는게 아니라 Servlet으로 변환 후 실행이 된다는 말 입니다.

JSP 를 쓰는 이유

HTML만 다 써줄 거라면? HTML로만 다 쓰면 됩니다.

그런데 만약 내가 이 HTML안에서 프로그램을 실행시키고 싶습니다.

그래서 Java코드를 넣어서 실행이 가능하게 만든다 라고 생각하면 됩니다.

Servlet의 동작

1) WAS는 사용자 요청에 맞는 적절한 Servlet 파일을 컴파일(.class 파일 생성)

2) .class 파일을 메모리에 올려 Servlet 객체를 생성

3) 메모리에 로드될 때 Servlet 객체를 초기화하는 init() 메서드가 실행

4) WAS는 Request가 올 때마다 thread를 생성하여 처리

5) 각 thread는 Servlet의 단일 객체에 대한 service() 메서드를 실행

6) service() 메서드는 요청에 맞는 적절한 메서드(doGet, doPost 등)를 호출

수행 완료 후 생성된 데이터를 웹 페이지와 함께 클라이언트로 응답

JSP의 특징

스크립트 언어이기 때문에 자바 기능을 그대로 사용할 수 있습니다.

Tomcat(WAS)이 이미 만들어놓은 객체(predefined values)를 사용합니다.

Ex. request, response, session 등

사용자 정의 태그(custom tags)를 사용하여, 보다 효율적으로 웹 사이트를 구성할 수 있습니다.

JSTL(JSP Standard Tag Library, JSP 표준 태그 라이브러리)사용

HTML 코드 안에 Java 코드가 있기 때문에 HTML 코드를 작성하기 쉽습니다.

Servlet과 다르게 JSP는 수정된 경우 재배포할 필요 없이 Tomcat(WAS)이 알아서 처리해줍니다.

등장배경

1998년 정도에 마이크로소프트에서 ASP라는 웹을 쉽게 개발할 수 있는 스크립트 엔진을 발표했습니다.

servlet은 1997년도에 발표가 되었는데 html 코드가 다 서블릿에서 out.print 안에 문자열로 들어가야 되는점

이 점이 html 코드가 굉장히 많아지면 서블릿 개발하기 굉장히 불편해졌습니다.

그러니까 썬마이크로시스템즈에서도 ASP에 대항하기위해 만들어 낸 것이 JSP입니다.

1999년도에 마이크로 시스템즈사에서 JSP를 발표했습니다.