JSP(Java Server Page)

  • html 코드 안에 java 언어가 있는 확장자가 .jsp인 파일
// Java program to show servlet example
// Importing required Java libraries
import java.io._;
import javax.servlet._;
import javax.servlet.http.\*;

// Extend HttpServlet class
public class AdvanceJavaConcepts extends HttpServlet
{
private String output;

// Initializing servlet
public void init() throws ServletException
{
    output = "Advance Java Concepts";
}

// Requesting and printing the output
public void doGet(HttpServletRequest req,
    HttpServletResponse resp)
    throws ServletException, IOException
    {
    resp.setContentType("text/html");
    PrintWriter out = resp.getWriter();
    out.println(output);
    }
}

Servlet

  • java 코드 안에 html 코드가 있는 확장자가 .java인 파일
  • HttpServlet를 상속받은 자바 클래스
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title> Hello World - JSP tutorial </title>
</head>
<body>
    <%= "Hello World!" %>
</body>
</html>

MVC

  • Model : 비즈니스 영역의 로직 처리
  • View : 화면단 출력 처리
  • Controller : Model과 View를 컨트롤, 흐름 제어 담당

모델과 뷰를 나누어 각각의 역할에 집중할 수 있도록 분리하고, 어플리케이션 흐름 제어는 컨트롤러가 담당한다.

MVC1은 JSP가 비즈니스로직과 화면 출력을 담당한다. 로직과 뷰 코드가 혼합되어 유지보수가 복잡해지기에 MVC2가 등장하였다.

MVC2 동작 과정

Model, View, Controller를 분리하여 유지보수가 편리하다.

img

Filter

img

필터란?

  • JSP/서블릿을 실행하기 전에 요청이 올바른지 검증 혹은 접근 권한 체크를 처리할 수 있다.
  • HTTP 요청/응답을 변경할 수 있는 자바 클래스
  • 클라이언트와 자원 사이에 위치하고 있다.
  • 필터 체인으로 여러 필터를 사용할 수 있다.