✅ JSP ( JavaServer Pages )
- 서버언어이다.
- 웹어플리케이션 도구: 정적인 HTML에 JAVA코드 삽입 > 동적 웹페이지 생성
- 커스텀 태그 기술을 사용한다.
(서블릿 컨테이너가 관리하는 내장객체들이 있다. 이 내장객체의 라이프 사이클을 이용해 페이지 간 속성을 관리한다. 코드태그화 ex: action, JSTL)
- EL(Express Language)을 통해 데이터를 표현한다.
- 복잡한 코드를 넣는데 적합하지 않다.
(전달되는 모든 데이터는 문자열로 처리된다. 숫자로 변환하기 위해서는 Inteager.parseInt()를 적용하고 ${}로 감싸줘야한다.)
- 입력 화면을 구성하거나 처리결과를 보여주는 용도이다. (서블릿을 이용해 jsp를 보아야한다.)
- 쿼리스트링이나 파라미터를 처리하지 않는다.(서블릿에서 처리)
◻️ EL(Express Language)
- param 객체 : 현재 요청으로 전달된 파라미터 추출
◻️ JSP 구성요소
> 지시어, 액션, 템플릿 데이터, 스크립트 요소, 커스텀 태그, EL
✅ JSP 동작과정

| 📗 JSP 개발과 동작과정 |
|
JSP의 장점
- HTML 파일에 자바 기술을 거의 무한대로 사용할 수 있다.
- 비교적 쉽게 개발이 가능하다.
- 커스텀태그 라이브러리 등 JSP 개발에 도움을 주는 확장 태그 구조를 사용할 수 있다.
- 서블릿으로 변환되어 실행 되므로 서블릿 기술의 장점을 모두 가진다.
- MVC 패턴, 스프링프레임워크등 잘 설계된 구조를 적용할 수 있어 체계가 잡히면 개발 생산성이 향상되고 성능이 보장 된다.
- 모든 개발이 서버에서 이루어지므로 개발의 집중화를 통한 효율이 있을 수 있다.
단점
- 화면 구성요소의 변경은 jsp -> java -> class -> 서블릿 실행의 과정을 거치게 되므로 개발과정에서 사소한 UI 변경도 매번 확인하는데 시간이 소요된다.
- 개발자와 디자이너간의 역할 분담에 제약이 있다.
- jsp 파일의 화면 디자인 확인을 위해서도 반드시 서블릿 컨테이너의 실행이 필요하다.
출처-한빛아카데미 짧고 굵게 배우는 JSP웹프로그래밍 스프링 프레임워크