본문 바로가기
인천일보아카데미/- 학습일지

[학습일지]JAVA교육일지 게시판CRUD 1⭐환경설정&로그인

by w1z 2022. 7. 15.

1. JSP MVC

2. JSP Model 2 - 'Hello' 웹 페이지 만들기


1. JSP MVC

[ JSP에서 코드를 작성하는 패턴 ]

1) JSP Model 1

  - HTML + CSS + JavaScript + Java + JSP = *.jsp

  - <% %>, <%= %> 사용

  - 오래된 방식이며, 현재는 잘 쓰이지 않는다.

 

2) JSP Model 2

- 'MVC' Model 디자인

- Servlet + JSP = MVC

 

[ JSP MVC ]

 Servlet  - 자바 기반 + 웹 추가
 - 자바 작업이 수월하다.
 - 웹 작업이 불편하다.
 JSP  - 웹 기반 + 자바 추가
 - 웹 작업이 수월하다.
 - 자바 작업이 불편하다.
 Servlet + JSP  - 자바 코드  -> Servlet 담당
 - 웹 코드     -> JSP 담당

 

2. JSP Model 2 - 'Hello' 웹 페이지 만들기

[ 구성 ]

1개의 Servlet + 1개의 JSP = 1장의 웹 페이지

 

1) Servlet

  - 패키지 "com.test.mvc"에 "Hello.java"파일 생성

2) JSP

  - webapp 폴더 안에 "hello.jsp"파일 생성

 

[ 업무 순서 ]

1) 브라우저가 페이지를 달라고 서버에 먼저 요청한다.

  -> Servlet에게 페이지를 달라고 요청한다.

2) Servlet이 먼저 말을 한다.

  -> 할일 완료.

  -> JSP를 호출한다.

3) JSP가 Servlet을 이어서 나머지 일을 한다.

  -> 할일 완료

  -> 웹 페이지 완성

4) 완성된 페이지를 브라우저에게 돌려준다.

 

[ Servlet + JSP 코드 ]

1) Servlet

public class Hello extends HttpServlet {

    @Override
    protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
    
        String msg = "Hello JSP MVC"; // Oracle -> select 결과
		req.setAttribute("msg", msg); // JSP에게 전달하기 위해서 request 객체에 담는다.  
    
        RequestDispatcher dispatcher = req.getRequestDispatcher("/WEB-INF/views/hello.jsp");
        dispatcher.forward(req, resp);
        
    }
}

 

2) JSP

<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title></title>
</head>
<body>

    <div><%= request.getAttribute("msg") %></div>

</body>
</html>

 

3) Servlet + JSP를 이용한 웹 페이지 생성 완료.

1개의 java파일 + 1개의 jsp파일 = 1장의 웹 페이지


MEMO>

# 오늘 배운 MVC는 굉장히 매우매우매우 아주아주아주 중요하다. 이해는 나중에 해도 되니까 강제로 외워야할 정도임..

# 오늘까지 배운 서버 내용으로 게시판의 기본적인 CRUD 예제를 2번 3번 4번... 계속 작성해보기

# 그날 배운것은 그날 복습 철칙 항상 명심