JSP(Jakarta Server Pages)
JSP는 Java를 이용한 서버 사이드 템플릿 엔진으로 HTML 코드에 JAVA 코드를 넣어 동적 웹페이지를 생성하는 웹어플리케이션 도구이다.
jsp는 자바를 웹서버에서 쉽게 쓰기 위한 기술이며 언어가 아니다. Java Server Pages의 약자이며, 오라클에서 자바상표권 문제로 오픈소스인 jsp는 자카르타 서버페이지로 이름을 바꾸었다. Java EE 스펙 중 일부로 웹 애플리케이션 서버에서 동작한다.
JSP는 실행시에는 자바 서블릿으로 변환된 후 실행되므로 서블릿과 거의 유사하다고 볼 수 있다. 하지만, 서블릿과는 달리 HTML 표준에 따라 작성되므로 웹 디자인하기에 편리하다. 1999년 썬 마이크로시스템즈에 의해 배포되었으며 이와 비슷한 구조로 PHP, ASP, ASP.NET 등이 있다.
아파치 스트럿츠나 자카르타 프로젝트의 JSTL 등의 JSP 태그 라이브러리를 사용하는 경우에는 자바 코딩없이 태그만으로 간략히 기술이 가능하므로 생산성을 높일 수 있다.
JSTL 사용 법
https://programinglab.tistory.com/70
2022-12-02 정적파일보관, JSTL사용법
정적파일(이미지파일, css, html, jsp...) 저장하는 곳 => wepapp / resource (테스트하는 곳,바로 웹화면에 뿌려줌) resources폴더의 하위폴더에 있는 파일들을 "/resources/**" 이런식으로 요청해서 보겠다는 것.
programinglab.tistory.com
동작 구조
JSP가 실행되면 자바 서블릿(Servlet)으로 변환되며 웹 어플리케이션 서버에서 동작되면서 필요한 기능을 수행하고 그렇게 생성된 데이터를 웹페이지와 함께 클라이언트로 응답한다.
JSP의 장단점
장점
- HTML 파일에 자바 기술을 거의 무한대로 사용할 수 있다.
- 비교적 쉽게 개발이 가능하다.
- 커스텀태그 라이브러리 등 JSP 개발에 도움을 주는 확장 태그 구조를 사용할 수 있다.
- 서블릿으로 변환되어 실행 되므로 서블릿 기술의 장점을 모두 가진다.
- MVC 패턴, 스프링프레임워크등 잘 설계된 구조를 적용할 수 있어 체계가 잡히면 개발 생산성이 향상되고 성능이 보장 된다.
- 모든 개발이 서버에서 이루어지므로 개발의 집중화를 통한 효율이 있을 수 있다.
단점
- 화면 구성요소의 변경은 jsp -> java -> class -> 서블릿 실행의 과정을 거치게 되므로 개발과정에서 사소한 UI 변경도 매번 확인하는데 시간이 소요된다.
- 개발자와 디자이너간의 역할 분담에 제약이 있다.
- jsp 파일의 화면 디자인 확인을 위해서도 반드시 서블릿 컨테이너의 실행이 필요하다.
전반적으로 JSP 자체의 단점이라기 보다는 SSR(Server Side Rendering) 방식의 백엔드 웹 개발의 문제라 볼 수 있다.
웹서버(Web Server)
웹 서버(Web server)는 HTTP 또는 HTTPS를 통해 웹 브라우저에서 요청하는 HTML 문서나 오브젝트(이미지 파일 등)을 전송해주는 서비스 프로그램이다.
웹 어플리케이션(Web Spplication)
웹 애플리케이션은 사용자의 웹 브라우저에서 실행되는 소프트웨어로 원격으로 정보를 교환하고 서비스를 제공한다. 그리고 웹 애플리케이션을 사용해 편리하고 안전하게 고객과 연결한다. 장바구니, 제품 검색과 필터링, 인스턴트 메시징, 소셜 미디어 뉴스피드 등 일반적으로 사용되는 웹사이트 기능이 웹 애플리케이션을 기반으로 설계된다. 따라서 사용자가 소프트웨어를 설치하거나 구성하지 않고도 복잡한 기능을 이용할 수 있다.
자바 서블릿(Java Servlet)
자바 서블릿(Java Servlet)은 자바를 사용하여 웹페이지를 동적으로 생성하는 서버측 프로그램 혹은 그 사양을 말하며, 흔히 "서블릿"이라 불린다. 자바 서블릿은 웹 서버의 성능을 향상하기 위해 사용되는 자바 클래스의 일종이다. 서블릿은 JSP와 비슷한 점이 있지만, JSP가 HTML 문서 안에 Java 코드를 포함하고 있는 반면, 서블릿은 자바 코드 안에 HTML을 포함하고 있다는 차이점이 있다.
왜 Java가 아니라 Jakarta일까?
https://www.samsungsds.com/kr/insights/java_jakarta.html
Java EE에서 Jakarta EE로의 전환 | 인사이트리포트 | 삼성SDS
자바 기술자라면 Java EE(Java Platform, Enterprise Edition) 또는 J2EE(Java 2 Platform, Enterprise Edition)를 들어봤을 것입니다. 자바를 이용한 서버 개발 플랫폼으로 한 때 엔터프라이즈 자바 기술을 선도하며 막
www.samsungsds.com
자카르타EE는 자바EE를 대체하지 않았고 둘 다 공존하고 있습니다. 자카르타EE는 자바EE 8에서 하드포크된 새로운 플랫폼으로 기존 자바EE와 호환되지 않습니다. 자바EE는 계속 유지되지만 8 버전을 마지막으로 더 이상의 릴리즈와 추가 기능은 제공되지 않고 있습니다. 개발자는 자바EE를 계속 사용할 것인지 아니면 자카르타EE로 마이그레이션 할 것인지를 선택해야 합니다. 다행히도 자카르타EE로 마이그레이션을 지원하는 도구가 제공되고 자바EE에 대한 패치도 계속 나올 것이기 때문에 당장 큰 이슈는 없을 것으로 예상됩니다.
참고 및 출처
위키피디아
'정리' 카테고리의 다른 글
XML(eXtensible Markup Language)이란? (0) | 2023.04.04 |
---|---|
REST API (0) | 2023.03.27 |
클라우드(Cloud) 서비스란? (0) | 2023.03.24 |
NoSQL vs RDBMS (0) | 2023.03.13 |
Jackson Library란?, Jackson Library의 사용 법 (0) | 2023.02.15 |
댓글