본문 바로가기

Programming Language/Java

[JSP] JSP란 무엇인가?

728x90

JSP란?

JSP 란 Java Server Pages 의 약자이며 HTML 코드에 JAVA 코드를 넣어 동적 웹페이지를 생성하는 웹어플리케이션 도구이다. 

EJS (Embedded JavaScript templating, 자바스크립트로 HTML 마크업을 생성할 수 있는 간단한 템플릿 언어)와 동일한 역할을 한다. 

 

<HTML>
    <HEAD>
        <TITLE>Reading Three Request Parameters</TITLE>
        <LINK REL=STYLESHEET HREF="JSP-Styles.css" TYPE="text/css">
    </HEAD>

    <BODY>
        <H1>Reading Three Request Parameters</H1>
        <UL>
            <LI><B>param1</B>: <%= request.getParameter("param1") %>
            <LI><B>param2</B>: <%= request.getParameter("param2") %>
            <LI><B>param3</B>: <%= request.getParameter("param3") %>
    </UL>
    </BODY>
</HTML>

JSP의 등장 배경

서블릿의 단점을 보완하고자 만든 서블릿 기반의 스크립트 기술이다.

서블릿을 이용하게 되면 웹프로그래밍을 할 수 있지만 자바에 대한 지식이 필요하며 화면 인터페이스 구현에 너무 많은 코드를 필요로 하는 등 비효율적인 측면들이 있다.

때문에 서블릿을 작성하지 않고도 간편하게 웹프로그래밍을 구현하게 만든 기술이 JSP(Java Server Pages)이다.

JSP 동작 과정

JSP 가 실행되면 자바 서블릿(Servlet) 으로 변환되며 웹 어플리케이션 서버에서 동작되면서 필요한 기능을 수행하고, 그렇게 생성된 데이터를 웹페이지와 함께 HTML형태로 클라이언트로 응답한다.

  • 브라우저가 웹 서버에게 JSP에 대한 요청 정보를 전달한다.
  • 브라우저가 요청한 JSP가 최초로 요청했을 경우만 JSP로 작성된 코드가 서블릿 코드로 변환됨(java파일 생성)
  • 서블릿 코드를 컴파일해서 실행가능한 bytecode로 변환한다 (class파일 생성)
  • 서블릿이 실행되어 요청을 처리하고 HTML 형태로 응답 정보를 생성한다

JSP 기본 태그

MVC 패턴의 JSP와 Servlet

현재는 유지보수단계에서 많은 단점을 느껴 각각의 역할을 나누어 서블릿과 JSP를 동시에 사용하여 개발하는 방식으로 개발하고 있어 Servlet과 JSP를 나누어 사용하고 있다. 

JSP는 HTML태그 사용이 용이하고 자바코드 사용이 불편하기 때문에 웹어플리케이션에서 사용자에게 결과를 보여주는 View(Client)를 담당하고

Servlet은 자바코드 작성이 편리하기 때문에 주로 화면과 통신하여 자료를 받아 가공하고 가공한 자료를 다시 화면에 전달하는 Controller역할을 하고 있다.

 

Reference

 

 

[Java] JSP(Java Server Page)란 무엇인가?

1. JSP(Java Server Page)란?  JSP는 Java Server Pages 의 약자이며 HTML 코드에 JAVA 코드를 넣어 동적 웹페이지를 생성하는 웹어플리케이션 도구이다. JSP가 실행되면 자바 서블릿(Servlet)으로 변환되며 웹..

devlog-wjdrbs96.tistory.com

 

[JSP] JSP (JavaServer Pages ) 란 무엇인가?

JSP (JavaServer Pages ) 란 무엇인가? JSP 란 JavaServer Pages 의 약자이며 HTML 코드에 JAVA 코드를 넣어 동적웹페이지를 생성하는 웹어플리케이션 도구이다. JSP 가 실행되면 자바 서블릿(Servlet) 으로 변환..

javacpro.tistory.com

 

 

JSP와 Servlet(서블릿) 비교

JSP와 Servlet?? 어떤 개념을 가지고 있고 어떤 차이가 있는지 알아보도록 하겠다. 1. Servlet 정확한...

blog.naver.com

 

반응형