[JSP] JSP에 대해서
카테고리 없음 2018. 4. 6. 09:17 |JSP(Java Serveer Pages)란?
한마디로 요약하면, HTML내에 Java code를 삽입하여 웹 서버에서 동적으로 웹브라우저를 관리하는 언어. (참고로 JavaScript는 웹브라우저에서 바로 동적인 구현이 가능한 언어.)
JSP를 설명하기 위해선 Servlet을 알아야 하고, Servlet을 알기 위해선 CGI를 알아야 한다.
먼저 CGI(Common Gateway Interface)는 웹 서버와 프로그램을 연결 시켜주는 일종의 protocol이다. 웹 서버의 일부분으로 서버측에서 수행되는 다른 응용프로그램과 통신할 수 있는 기능을 제공한다. 또한 CGI는 C, Java등의 언어로 사용하여 작성하게 되는데, 자바 CGI의 성능을 개선한 방법을 Servlet이라고 한다.
Servlet은 자바를 이용해서 작성한 CGI프로그램으로, 일반 CGI프로그램과는 다른 특성들을 가지고 있다. 일반 CGI는 특성상 클라이언트의 요청이 있을 때마다 프로세스를 생성하여 CGI를 수행한다. 그러한 프로세스 생성은 클라이언트의 요청이 많아질 경우 과부하를 불러오기 때문에 비효율적이다. 이러한 단점을 보완한 것이 Servlet이다. Servlet은 클라이언트의 요청이 생길 경우 프로세스를 생성한 것이 아니라 thread를 생성한다. 또한 각 Servlet은 한번 메모리에 로드되고 계속적으로 사용된다. Servlet을 실행시키는 JVM은 항상 실행되고 있는 상태이고, 사용자가 많은 사이트의 경우 효과적이다. 그러나 Servlet또한 단점이 있다. Servlet을 만들기 위해서는 자바 코드를 작성하고, 코드를 컴파일 해서 클래스 파일을 만들어야 한다. 즉 Servlet은 실행 코드 방식에 속한다. 따라서 Servlet을 이용하여 웹 어플리케이션을 개발할 경우 화면에 출력되는 데이터를 조금만 바꾸고 싶어도 코드를 수정하고 컴파일 하는 작업을 반복해 주어야 한다.
때문에, Sun에서는 Servlet의 단점을 보완하기 위해서 스크립트 방식의 표준인 JSP를 만든 것이다. JSP는 코드를 수정하면 바로 내용이 반영된다는 뛰어난 효율성을 갖고 있기 때문에, 웹 어플리케이션을 개발하는데 사용되는 주요 기술로 자리잡기 시작한 것이다.
결론 : JSP가 좋긴 하지만 만능은 아니다. 간단한 작업이 아니라 복잡하고 다양한 작업을 해야하는 웹 페이지라면 서블릿을 이용하는것이 좋다. 요즘은 서블릿과 JSP를 혼용해서 쓰는것이 대세이다. 복잡한 기능을 수행하는 부분은 서블릿이 담당하고 그 결과를 JSP로 작성한 웹 페이지를 통해 출력하는 방법이다.
출처: http://ganzi-tilong.tistory.com/15 [간지띠롱의 IT탐색기]
출처: http://ganzi-tilong.tistory.com/15 [간지띠롱의 IT탐색기]