본문 바로가기

JSP & Servlet

정의

개념 종류
Server - side Script
(서버 측에서 실행되는 스크립트 언어)
(서버 측에서 동적 콘텐츠 생성)
Servlet / JSP
Client - side Script
(클라이언트 사용자의 웹 브라우저에서 실행되는 언어)
HTML / CSS, JavaScript

 


Servlet

  • Java 기반 동적 콘텐츠 생성
  • Java 코드 안에 HTML 태그 혼재
    • HTML과 연동 어려움
      • 이를 보완하기 위해 JSP (HTML 속 Java) 등장
Applet
  • 클라이언트 측 프로그램
  • 클라이언트 브라우저에서 호출 -> 클라이언트 PC : 클래스 파일 다운로드
Servlet
  • Server + Applet
  • 브라우저에서 호출 -> WAS : 웹 페이지 동적 생성, 결과 전송

 

 


JSP 정의

  • Java 기반 동적 콘텐츠 생성
  • HTML 태그 속 Java
  • 서버 측 (WAS)에서 동작
  • 웹 서버 (Apache)와 연동되어 동적인 페이지 생성
    • 정적인 페이지 요청 (HTML, 이미지, 텍스트 파일) : 웹 서버에서 해결
    • 동적인 페이지 요청 (jsp페이지) : 웹 서버 -> JSP Container에서 실행

 

JSP Container
  • JSP가 동작할 수 있도록 하는 서버
    • JSP를 동작시키기 위해 필요한 프로그램
  • ex)
    • Tomcat, Resin, JRun, Jetty
  • jsp 파일 처리 순서
    1. 클라이언트의 웹 브라우저
    2. 웹 서버
      • xxx.jsp 파일을 JSP Container에게 전달
    3. JSP Container
      • 해당 jsp 페이지 -> Servlet 자바 파일로 변환
      • 자바 파일 -> 컴파일 -> 사용자의 브라우저에게  HTML 형태로 전송

 

JSP script

  • 정의
    • JSP 프로그래밍에서 사용되는 문법
  • 종류
    1. Declaration  (선언문)
    2. Scriptlet
    3. Expression   (표현식)
    4. Comment   (주석)

 

 

1. Declaration (선언문)

  • 정의
    • JSP에서 사용될 변수 or 메소드 선언할 수 있는 영역
    • 멤버변수
      • 선언문에서 선언된 변수
  • 문법
    • <%! 멤버변수 or 메소드 선언하는 영역 %>
  • 특징
    • Scriptlet변수보다 늦게 선언되어도, Scriptlet에서 Declaration(선언문) 안의 변수를 사용 가능

 

2. Scriptlet

정의

  • jsp페이지가 서블릿으로 변환되고 요청될 때, _jspService 메소드 안에 선언 되는 요소
    • _jspService 메소드 안에 선언되기 때문에 scriptlet 안에 메소드 선언 불가
      • 메소드(_jspService) 안에 메소드 (scriptlet 안의 메소드) 선언 불가하므로

특징

  • 지역변수 선언
    • Test

문법

  • <% 이 곳에 자바코드 입력 %>

 

3. Expresstion (출력문)

4. Comment (주석)