JSP
1. 서블릿(Servlet)과 JSP(Java Server Page)
▪ 서블릿은 자바를 이용한 서버 프로그래밍 기술이다.
▪ JSP는 PHP와 유사한 형태로 HTML을 중심으로 자바 프로그램과의 유기적인 연결을 지원.
- JSP의 특징
➊ 자바의 모든 기능을 사용할 수 있어 발전 가능성이 무한하다.
➋ 서블릿으로 컴파일된 후 메모리에서 처리되기 때문에 많은 사용자의 접속도 원활하게 처리할 수 있다.
➌ JSP 또는 다른 서블릿 간의 데이터를 쉽게 공유 할 수 있다.
➍ 빈즈(Beans)라고 하는 자바 컴포넌트를 사용할 수 있다
➎ 커스텀 태그를 만들어 사용할 수 있으며, JSTL(JSP Standard Tag Library)과 같은 태그 라이브러리를 이용할 수 있다.
➏ 스트러츠, 스프링 @MVC 등 다양한 프레임워크와 결합하여 개발할 수 있다.
2. JSP 학습에 필요한 기술
1. JSP 전체 동작 과정
• JSP 는 HTML 과 유사한 처리 과정을 거치나 HTML이 단순 서버 파일을 브라우저로 보내주는 것에 비해 JSP는 서버에서 프로그램이 실행된 결과를 웹 브라우저로 전달하는 차이가 있음.
2. 서블릿 컨테이너 내부 과정
▪ JSP와 서블릿 차이
• JSP는 HTML과 같은 일반적인 텍스트 파일 구조
• 서블릿은 자바 소스로 작성된 클래스 파일 구조
• JSP는 서블릿 컨테이너에 의해 서블릿 형태의 자바 소스로 변환되어 클래스로 컴파일 됨
▪ 서블릿 컨테이너
• 서블릿 컨테이너는 서블릿을 실행하고 JSP를 서블릿 코드로 변환하는 기능을 수행함.
• 변환된 JSP의 서블릿 클래스를 실행하고 웹 서버의 메모리에 적재하고 사용자 요청에 따라 실행.
◼ JSP에 관해서 이것만은 알고 있자.
➊ JSP는 일반 텍스트 파일로 되어 있다(텍스트 파일은 컴퓨터가 이해할 수 없다. 즉 실행 가능한 프로그램이 아 니며 특정 동작을 할 수 없다).
➋ JSP는 HTML 코드와 몇몇 특수한 태그, 그리고 자바 코드가 섞여 있다.
➌ 사용자가 요청할 경우 JSP는 컨테이너(톰캣)에 의해 서블릿 형태의 .java 소스로 변환되고 컴파일된다.
➍ 컴파일된 .class는 컴퓨터에서 실행할 수 있는 형태로 특정한 기능을 수행할 수 있게 된다. 이후 소스 변경 전 까지 해당 파일은 메모리에 상주하면서 다시 컴파일 되지 않고 서비스된다.