Software Engineering/Java, JSP

[JSP프로그래밍] 제4장 JSP 동작 원리

iseop 2023. 9. 16. 22:08   인쇄용 버전

1. 단원 요약

  • JSP 기술은 서블릿 기술에 기반하며, JSP page는 요청 시 서블릿으로 변환→컴파일→실행된다.
  • JSP page를 수정하면 그에 해당하는 서블릿 또한 수정된다.
  • <%@ page %> 지시어의 속성
    • autoFlush: 기본 true, 버퍼가 차면 내용물을 전송하고 다음 작업 수행(false인 경우 버퍼가 차면 exception 발생)
    • buffer: 기본 8kb, 실행 중에 버퍼의 내용물을 수정할 수 있음, 특히 헤더를 수정할 수 있음
  • 동일 기능을 하는 서블릿과 JSP page의 비교
##### Servlet application #####
import javax.servlet.*;
import javax.servlet.http.*;
import java.io.*;

public class Example extends HttpServlet {
	public void doGet(HttpServletRequest req, HttpServletResponse resp) {
    	resp.setContentType("text/html");
        try {
            PrintWriter out = resp.getWriter();
            out.println("<html>");
            out.println("<title>Hello JSP</title>");
            out.println("<h1>Today is: " + new java.util.date() + "</h1>");
            out.println("</html>");
        } catch (IOException e) {
            // 에러 처리
        }
    }
}

##### JSP page #####
<html>
<title>Hello JSP</title>
<h1>Today is: <%= new java.util.Date() %></h1>
</html>

 
2. 연습문제 요약

  • HTTP 요청을 위한 서블릿 클래스는 인터페이스 클래스 HttpServlet을 상속받으며, GET/POST 액션을 위한 doGet(), doPost() 메소드를 포함한다.
  • 액션 처리 중 오류가 발생하면 버퍼의 내용을 에러 페이지로 변경해야 하므로 에러 페이지를 사용하는 경우에는 버퍼링이 필수적이다.