JSP // jsp 생활코딩 || jsp tutorial || Java(TM) EE 7 Specification APIs
JSP(Java Server Pages)
Java를 이용한 서버 사이드 스크립트 언어. Java Server Pages의 약자이며, 오라클에서 자바상표권 문제로 오픈소스인 jsp는 자카르타 서버페이지로 이름을 바꾸었다. Java의 점유율을 대폭 상승시킨 1등공신이다. 같은 부류에 속하는 것으로 ASP가 있다. 확장자는 당연히 .jsp를 사용. ASP와 마찬가지로 <% ... %>로 둘러싸인 스크립트 영역이 있으며, 실행시에 javax.servlet.http.HttpServlet 클래스를 상속받은 Java 소스 코드로 변환한 다음[2] 컴파일되어 실행된다. 이 JSP 파일을 Servlet 클래스로 변환하고 실행시켜 주는 역할을 하는 프로그램은 서블릿 컨테이너라고 부른다. 대표적인 것으로 오픈 소스 웹 컨테이너인 톰캣이 있다. 하나의 JSP 페이지가 하나의 Java 클래스이기 때문에 모든 Java 라이브러리를 끌어다 쓸 수 있다. 서블릿 컨테이너도 Java 프로그램이며, Java Virtual Machine 위에서 실행된다. 따라서 대부분의 운영 체제에서 소스 코드 변경이나 재컴파일 없이 실행시킬 수 있고, 특히 유닉스 계열과 궁합이 잘 맞는다.
타언어와의 차이
ASP와 비교해서 JSP는 안정적이고, 유지보수가 쉽다. 반면 PHP는 개발 속도가 빠르다. 그런데 2010년대의 웹 환경은 JSP의 경직된 구조를 받아들이지 못해 빠르게 인기가 식고 있다. 요즘 트렌드인 API 주도형 사이트 구축과 SPA는 JSP가 필요없다 자바로 json 출력하기만 되기때문이다. 대기업이나 금융권, 관공서 등 규모가 크고 안정적인 서비스가 중요한 곳에서는 여전히 수요가 있지만, 이러한 곳이 아니라면 서비스 내용 대비 쓸데없이 무겁고 느린 JSP는 점점 메리트가 떨어져 가고 있다. 과거에 쓰였던 EJB는 군더더기 코드가 많고, EJB를 로딩하는 데 꽤나 시간이 걸리며, 속도를 위해 Local Bean으로만 줄창 쓰다가 지금은 거의 사장된 상태이다. ASP.NET은 북미에서는 많이 쓰이나 한국에서는 잘 안쓰인다. 사용하는 방식이 많이 변했지만 PHP는 단순템플릿이 아닌 API서버 역할도 할 수있어서 아직 웹 쪽에서는 선방 중이고, 신흥강자로 Node.js와 Go가 떠오르고 있다. 또한 Ruby on Rails의 성공도 JSP의 앞날을 가로막는 존재이다. Python의 Django와 Flask 웹 프레임워크도 편의성과 고성능, 그리고 압도적인 생산성과 완만한 학습 곡선으로 JSP를 위협하고 있다. JSP는 자바의 템플릿이며 스프링프레임워크 5버전부터는 공식지원을 중단했다.
'Spring' 카테고리의 다른 글
JSP MVC 2 mariadb query 관련 (0) | 2022.12.17 |
---|---|
jstl formatDate 출력 (0) | 2022.12.15 |
jsp jstl forEach문 활용(https://mr-cho.tistory.com/212) (0) | 2022.12.14 |
jdbc driver 적용 (0) | 2022.12.14 |
jsp 모음 글-인터넷 보는 중 정리 (0) | 2022.12.14 |