Purple Bobblehead Bunny

Backend/JSP SERVLET

[JSP] Servlet

준영어린이 2022. 6. 22. 20:04

 

 

정적 웹 페이지 동적 웹 페이지


  • 정적 웹 페이지 : 변하지 않는 페이지를 뜻 하며,  모든 사용자에게 동일한 내용을 보여주고, 작성이 되면 변화를 보여주지 않는 것을 말한다.
  • 동적 웹 페이지 : 사용자에게 반응하여 다른 화면을 보여주는 페이지(ex. 장바구니, 게시판)

 

 

웹 개발을 할 때, HTML은 정적 웹 페이지로만 구현이 가능했지만, Servlet을 통해 동적인 웹페이지가 작성이 가능해졌다.

 

 

 

JSP

  • 동적 페이지를 제공하기 위해서 HTML 내에 삽입된 Script 코드
  • 삽입된 코드는 Servlet으로 변환되어 JVM에 의해 해석된다.

Servlet

  • 서버 쪽에서 실행이 되면서 클라이언트의 요청에 따라 동적으로 서비스를 제공하는 Java class
  • JSP 이전에 사용 되었던 웹페이지 표현 방식
  • Java 코드 안에 HTML 코드를 중간에 삽입해서 처리
  • 하나의 jsp 페이지는 하나의 Servlet으로 변환 후 다시 컴파일되어 실행

 

 

JSP, Servlet 웹 어플리케이션 구조

 

 

 

Servlet, JSP 예시

 

Servlet

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

<!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>

'Backend > JSP SERVLET' 카테고리의 다른 글

[JSP] 포워딩, 리다이렉트  (0) 2022.06.27
[JSP] form  (0) 2022.06.26
[JSP] ActionTag  (0) 2022.06.24
[JSP] 지시자  (0) 2022.06.24
[JSP] 기초 문법  (0) 2022.06.22