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 요청/응답을 변경할 수 있는 자바 클래스
- 클라이언트와 자원 사이에 위치하고 있다.
- 필터 체인으로 여러 필터를 사용할 수 있다.