자바와 웹프로그래밍

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를 분리하여 유지보수가 편리하다.

Filter

  • 필터란?

    • JSP/서블릿을 실행하기 전에 요청이 올바른지 검증 혹은 접근 권한 체크를 처리할 수 있다.

    • HTTP 요청/응답을 변경할 수 있는 자바 클래스

    • 클라이언트와 자원 사이에 위치하고 있다.

    • 필터 체인으로 여러 필터를 사용할 수 있다.

Last updated