JSP와 Servlet

2021. 3. 5. 23:08Web/JSP

JSP와 Servlet

기능의 차이는 없고, 역할의 차이가 있다.

jsp는 필요시 스크립트 언어로 기능 구현

servlet은 java코드를 기준으로 화면 구성에 필요한 html 태그를 보완

 

Servlet

Servlet이란?

  • 웹 기반의 요청에 대한 동적인 처리가 가능한 Server Side에서 돌아가는 Java Program
  • 동적인 컨텐츠 생성
  • Java 코드 안에 HTML 코드
  • 작업에 대한 분리적인 측면에서 효율성이 떨어짐

 

특징

  • 완전한 자바파일

  • data processing(Controller)에 좋음

  • DB와의 통신, 데이터를 읽고 확인하는 작업 등에 유리, 즉 백엔드에 유리

  • Servlet 수정된 경우 Java코드 컴파일(.class 파일 생성) -> 동적인 페이지 처리,

    • 전체 코드를 업데이트하고 다시 컴파일 한 후 재배포 하는 작업 필요
    • 개발 생산성 저하

 

예시

import java.io.*;
import javax.servlet.*;
import javax.servlet.http.*;

public ThreeParams extends HttpServlet {
    public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {

        response.setContentType("text/html");
        printWriter out = response.getWriter();

        String title = "Reading Three Request Parameters";
        String docType = "<!DOCTYPE html PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\">\n";

        out.println(docType + 
            "<HTML>\n" +
            "<HEAD><TITLE>" + title + "</TITLE></HEAD>\n" +
            "<BODY BGCOLOR=\"#FDF5E6\">\n" +  
            "<H1 ALIGN=\"CENTER\">" + title + "</H1>\n" + 
            "<UL>\n" + 
            "<LI><B>param1</B>: " + request.getParameter("param1") + "\n" +
            "<LI><B>param2</B>: " + request.getParameter("param2") + "\n" +
            "<LI><B>param3</B>: " + request.getParameter("param3") + "\n" +
            "</UL>\n" +
            "</BODY></HTML>");
        )
    }
}

 

JSP

JSP란?

  • Java언어 기반으로 하는 Server Side 스크립트 언어
  • HTML 코드 안에 Java 코드
  • Servlet을 보완하고 기술을 확장한 스크립트 방식의 표준

 

특징

  • presentation(View)에 좋음, 즉 프론트에 유리
  • 즉 요청 결과 나타내는 HTML 작성에 유리
  • JSP가 수정된 경우 재배포 할 필요 없이 WAS가 알아서 처리
    • 쉬운 배포

 

예시

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<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 페이지 처리 과정

image

 

JSP 생명 주기

image

 

참고자료

반응형

'Web > JSP' 카테고리의 다른 글

JSP 스크립트 태그  (0) 2021.03.15
Eclipse tomcat error  (0) 2021.03.10
CGI와 확장 CGI  (0) 2021.03.05
웹과 웹의 동작 원리  (0) 2021.03.05