본문 바로가기
Java | spring/JSP | MVC 패턴

JSP란 무엇인가? 서블릿은?

by 워니 wony 2019. 5. 18.

서블릿과 JSP

  • 프로그래밍 언어
  • jsp/서블릿 : 자바 언어를 기반으로 웹에서 동작하는 프로그래밍 기술
    • 서블릿이 먼저 나온 기술
    • 서블릿으로는 문서 만들기가 어려워서 jsp 나중에  쉽게 웹문서를 만들도록 만들어진 기술
  • 동적인 HTML 생성
  • 사용자 요구에 따른 HTML 프로그램에 의해서 생성
  • 동적인 HTML 가능 종류 : jsp, asp, php, python(flask, django…)

 

서블릿 servlet

  • server Applet 합성어, 서버에서 실행되는 Applet, 자바를 이용하여 웹에서 실행되는 프로그램을 작성하는 기술
  • 서블릿은 자바 클래스 형태의 어플리케이션, HttpServlet 클래스를 상속받은 클래스가 서블릿
  • HttpServlet 서비스가 가능한 어플리케이션을 제작할 있도록 자바를 확장해 놓은 클래스로 톰캣을 설치하면 제공된다.

 

 

JSP Java Server Page

  • 자바로 서버 페이지를 작성하기 위한 언어
  • HTML JSP 태그(스트립트릿) 구성되어 화면을 작성하는데 유리한 프로그래밍 기술
    • <% %> : 스크립트릿 scriptlet
    • <%= %> 표현식(expression)

jsp 문장 구성요소

  • 지시자 <%@지시자명령어 >
    jsp
    수행하기 전에 선행 처리 되어야 내용을 기술
    <%@  [ page | taglib | include ]         => 지시자
  • 스크립트릿 <%    %>
    온갖 자바 문장이 있고, jsp 안에 여러 있음
    하지만
    , jsp에서 쓰다보면 자바와 HTML 섞여서 복잡해 보인다.
    스크립트릿 안에 변수를 선언하면 해당 메소드의 지역변수가 된다.
  • 표현식 <%= %>
    자바 프로그램의 실행 결과(변수 / 메소드 호출 ) 출력하기 위해 사용
    메소드
    호출문이 오는 경우는 리턴 값이 있어야 한다.
    표현식 안에는 ; 없다. 문장이 수는 없음
  • 선언문 <%!  내용  %>
    내용에는 변수선언이나 메소드 정의가 있다.
    선언문 안에 변수를 선언하거나 메소드를 정의하면 서블릿의 멤버가 된다.

 

자바 프로그램 구현 케이스

  • 복잡한 기능의 경우 JSP에서 직접 자바 문법을 사용하기 보다는 서블릿 doGet( ) 또는 doPost( ) 메소드에 작성 JSP에서 request 객체에 저장된 속성값을 얻어와 출력
  • 로직과 표현을 분리하여 프로그래밍 하는 것을 MVC 패턴이라고
    서블릿이
    비즈니스 로직을 구현하는 Model 역할을 하고 JSP 결과를 출력하는 View 역할을
반응형

댓글