본문 바로가기
  • 2025
카테고리 없음

jsp

by soonrang 2023. 7. 5.

✅ JSP ( JavaServer Pages ) 

- 서버언어이다.

- 웹어플리케이션 도구: 정적인 HTML에 JAVA코드 삽입 > 동적 웹페이지 생성 

- 커스텀 태그 기술을 사용한다.

  (서블릿 컨테이너가 관리하는 내장객체들이 있다. 이 내장객체의 라이프 사이클을 이용해 페이지 간 속성을 관리한다. 코드태그화 ex: action, JSTL)

-  EL(Express Language)을 통해 데이터를 표현한다. 

- 복잡한 코드를 넣는데 적합하지 않다.

  (전달되는 모든 데이터는 문자열로 처리된다. 숫자로 변환하기 위해서는 Inteager.parseInt()를 적용하고 ${}로 감싸줘야한다.)

- 입력 화면을 구성하거나 처리결과를 보여주는 용도이다. (서블릿을 이용해 jsp를 보아야한다.)

- 쿼리스트링이나 파라미터를 처리하지 않는다.(서블릿에서 처리)

 

 

◻️ EL(Express Language)

- param 객체 : 현재 요청으로 전달된 파라미터 추출 

 

◻️ JSP 구성요소 

> 지시어, 액션, 템플릿 데이터, 스크립트 요소, 커스텀 태그, EL

 

 

✅ JSP 동작과정

📗 JSP 개발과 동작과정
  1. jsp 소스 코드 작성 -> 웹 애플리케이션 배포
  2. 사용자 요청시 컨테이너는 해당 jsp 의 클래스 변환 여부 확인
  3. 변환되지 않았다면 xxx_jsp.java 파일 생성 및 .class로 컴파일
  4. jspInit() 메서드를 통해 서블릿 실행
  5. _jspService() 메서드를 통해 사용자 요청 처리
  6. 이후 요청에 대해 메모리상의 서블릿으로 서블릿과 같이 서비스
  7. 컨테이너 종료 혹은 관리도구에의해 서블릿 jspDestroy() 호출로 종료

 

JSP의 장점

  • HTML 파일에 자바 기술을 거의 무한대로 사용할 수 있다.
  • 비교적 쉽게 개발이 가능하다.
  • 커스텀태그 라이브러리 등 JSP 개발에 도움을 주는 확장 태그 구조를 사용할 수 있다.
  • 서블릿으로 변환되어 실행 되므로 서블릿 기술의 장점을 모두 가진다.
  • MVC 패턴, 스프링프레임워크등 잘 설계된 구조를 적용할 수 있어 체계가 잡히면 개발 생산성이 향상되고 성능이 보장 된다.
  • 모든 개발이 서버에서 이루어지므로 개발의 집중화를 통한 효율이 있을 수 있다.

단점

  • 화면 구성요소의 변경은 jsp -> java -> class -> 서블릿 실행의 과정을 거치게 되므로 개발과정에서 사소한 UI 변경도 매번 확인하는데 시간이 소요된다.
  • 개발자와 디자이너간의 역할 분담에 제약이 있다.
  • jsp 파일의 화면 디자인 확인을 위해서도 반드시 서블릿 컨테이너의 실행이 필요하다.

출처-한빛아카데미 짧고 굵게 배우는 JSP웹프로그래밍 스프링 프레임워크