반응형
# 인프런 MVC 프레임워크는 내손에 7일차 : JSP 비즈니스 로직 분리
## JSP 페이지를 구성하는 구성요소
- 지시자
<%@ ~~~ %>
ex)
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%
- 스크립트릿
<% ~~~ %>
ex)
<%
java.util.Date d = new java.util.Date();
%>
- 출력식
<%= ~~~ %>
ex)
<%=d.toString() %>
- JSP를 View 또는 프리젠테이션 로직 이라고 한다. (MVC에서 View에 해당)
- JSP는 페이지 단위로 만든다. (HTML 강점)
- 렌더링 : 톰캣 서버가 클라이언트에 응답하기 위해 최종적으로 만들어내는 결과 페이지를 만드는 과정
### JSP 비즈니스 로직 과 프리젠테이션 로직 분리
- 아래는 1 ~ 10까지의 합을 보여주는 JSP 예시. (비즈니스 로직, 프리젠테이션 로직 MIX)
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!-- 처리하는 부분 : 비즈니스 로직. -->
<%
int sum = 0;
for ( int i = 1; i <= 10; i++ ) {
sum += i;
}
%>
<!-- 아래는 보여지는 부분 : 프리젠테이션 로직. -->
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
<table border="1">
<tr>
<td>1 ~ 10까지의 총합</td>
<td><%=sum %></td>
</tr>
</table>
</body>
</html>
- src에 util 패키지 생성하여 1~10까지의 합을 계산하는 처리 로직 분리. (이를 Model 1 방식이라고 한다. Model 1 방식은 V(view)와 M(mode)으로만 이루어진 것)
package kr.web.util;
public class MyUtil {
public int hap() {
int sum = 0;
for ( int i = 1; i <= 10; i++ ) {
sum += i;
}
return sum;
}
}
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%@page import="kr.web.util.*" %>
<%
MyUtil my = new MyUtil();
int sum = my.hap();
%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
<table border="1">
<tr>
<td>1 ~ 10까지의 총합</td>
<td><%=sum %></td>
</tr>
</table>
</body>
</html>
- 위 처럼 작업 후 실행 시 에러 발생. 에러는 아래 방법으로 해결 (현재 모든걸 수동으로 만들어 작업했기 때문에 문제 발생.)
- 우선 기존 프로젝트 우클릭 > build path 진입
- source 탭에서 Browse 클릭하여 우리가 만들어놓은 경로로 설정(WEB/webapp/WEB-INF/classes)
반응형
'인프런 강의 학습 > MVC 프레임워크_나프1탄' 카테고리의 다른 글
인프런 MVC 프레임워크는 내손에 9일차 : Servlet 실행(Servlet 매핑, web.xml) (0) | 2021.06.01 |
---|---|
인프런 MVC 프레임워크는 내손에 8일차 : JavaEE기본 Servlet(서블릿) (0) | 2021.05.31 |
인프런 MVC 프레임워크는 내손에 6일차 : JSP 생성, 구동(동적페이지) (0) | 2021.05.30 |
인프런 MVC 프레임워크는 내손에 5일차 : Context 등록, index.html 요청 (0) | 2021.05.29 |
인프런 MVC 프레임워크는 내손에 4일차 : Web Application 디렉토리구조 (0) | 2021.05.25 |