[TIL] 2020.07.17_TIL-200717
To-Do
JSP
1. 개념
- Java 언어를 기반으로 하는 Server Side 스크립트 언어
- HTML 코드에 Java 코드를 넣어 동적인 웹 페이지를 생성하는 웹 어플리케이션 도구
- JSP를 통해 정적인 HTML과 동적으로 생성된 contents(HTTP 요청 파라미터)를 혼합하여 사용할 수 있다.
- 즉, 사용자가 입력한 contents에 맞게 동적인 웹 페이지를 생성한다.
- 서블릿 기술을 확장한 것이 JSP이다.
- 서블릿을 보완한 스크립트 방식 표준
- 서블릿의 모든 기능 + 추가적인 기능 제공
- All features of Servlet + Implicit object, predefined tags, expression language, custom tags
2. 구성요소
- Java 웹 어플리케이션의 사용자 인터페이스 역할을 수행하도록 설계된 Java 서블릿 유형이다.
- 개발자는 JSP를 HTML 또는 XHTML 코드, XML 요소 및 포함된 JSP 작업 및 명령을 결합한 텍스트 파일로 작성
3. 왜 JSP를 사용할까?
- JSP는 CGI(Common Gateway Interface)를 사용하여 구현된 프로그램과 동일한 목적으로 사용된다.
- CGI와 비교하여 JSP의 장점
- JSP를 사용하면 별도의 CGI 파일 대신 HTML 페이지 자체에 동적 요소를 포함할 수 있으므로 성능이 훨씬 향상
- JSP는 페이지가 요청 될 때마다 서버가 인터프리터와 대상 스크립트를 로드해야하는 CGI / Perl과 달리 서버에서 처리하기 전에 항상 컴파일된다.
- JSP는 Java 서블릿 API 위에 구축되므로 서블릿과 마찬가지로 JSP는 JDBC, JNDI, EJB, JAXP 등을 포함한 모든 강력한 Enterprise Java API에 엑세스 할 수 있다.
- JSP 페이지는 Java 서블릿 템플릿 엔진에서 지원하는 모델 인 비즈니스 로직을 처리하는 서블릿과 함께 사용할 수 있다.
4. JSP의 특징
- 스크립트 언어이기 때문에 자바 기능을 그대로 사용할 수 있다.
- 톰캣이 이미 만들어 놓은 객체(predefined values)를 사용한다.
- ex) request, response, session 등
- 사용자 정의 태그(custom tags)를 사용하여, 보다 효율적으로 웹사이트를 구성할 수 있다.
- HTML 코드 안에 Java 코드가 있기 때문에 HTML 코드를 작성하기 쉽다.
- 서블릿과 다르게 JSP는 수정된 경우 재배포할 필요 없이 톰캣이 알아서 처리해준다.
- Predefined Values(또는 Implicit Object)
- 미리 정의된 객체로, WAS가 제공하는 객체를 의미
- request : the HttpServletRequest Object
- response : the HttpSerlvetResponse Object
- session : the HttpSession Object
- out : the PrintWriter Object
- application : the ServletContext Object
5. JSP의 장점 (타 기술에 비해 JSP를 사용하는 장점)
- 액티브 서버 페이지(ASP)와 비교
- 동적 부분은 Visual Basic 또는 기타 MS 특정 언어가 아닌 Java로 작성되어 강력하고 사용이 쉬움
- 다른 운영체제 및 타사 웹 서버에 이식이 가능
- 서블릿(Setvlet)으로만 작성된 코드와 비교
- HTML을 생성하는 많은 println문을 갖는 것보다 일반HTML을 작성하고 수정하는 것이 더 편리하다.
-자바스크립트(Java Script)와 비교
- JS는 클라이언트에서 HTML을 동적으로 생성 할 수 있지만 웹 서버와 거의 상호작용하여 DB 엑세스 및 이미지 처리 등과 같은 복잡한 작업을 수행할 수 없다.
- 정적 HTML과 비교
- 일반 HTML문은 동적인 정보를 포함하지 못한다.
댓글남기기