반응형

# 인프런 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 프레임워크는 내손에 6일차 :  JSP 생성, 구동(동적페이지)

## HTML, JSP, Servlet

  • HTML을 이용하면 "정적 페이지"만 작업 가능
  • JSP를 이용하면 "동적 페이지" 작업이 가능하다. (JSP는 프로그래밍이 가능)

## JSP를 이용한 동적 페이지

  • 기본적으로 JDK 설치 시 rt.jar (API) 존재
  • 기본적으로 Servle, JSP 는 톰캣 서버가 구동해준다. Servlet, JSP 를 이용한 작업 진행 시 JDK API 외에 WEB에서 사용하는 API가 별도로 필요.

### jar 파일 연결 

  • WEB 용 api를 현재 작업하고 있는 애플리케이션에서 사용할 수 있도록 라이브러리를 추가하는 작업
  • 프로젝트 우클릭 > Build Path > Configure Build Path 진입 > Libraries (API) 탭 클릭
  • ADD External JARs.. 클릭 하여 외부에 존재하는 Servlet-api.jar  파일 등록 

### JSP에서 자바 코드 사용방법

  • <% %> 사이에 자바 코드를 입력하여 사용 가능.
  • 출력 시에는 <%=  %> 사이에 입력하여 출력한다.
  • 작업한 JSP 소스코드
<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<% 
	java.util.Date d = new java.util.Date();
%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
홈페이지에 오신것을 환영합니다.<br>
현재 시간 : <%=d.toString() %>
</body>
</html>
반응형
반응형

#인프런 MVC 프레임워크는 내손에 5일차 : Context 등록, index.html 요청

## index.html 파일 생성

  • webapp 하위에 index.html 파일 생성
  • ip주소 : localhost (127.0.0.1)

## Context 등록

  • 우리가 만든 웹 애플리케이션을 "톰캣 서버"가 인식할 수 있도록 등록해줘야 한다. 이를 "Context 등록" 이라고 한다.
  • Context 등록을 하지 않을 경우 톰캣이 우리가 만든 웹 애플리케이션을 인식할 수 없다.

### 등록방법

  • Server의 Server.xml 에 아래와 같이 입력한다.
<Context path="/web" docBase="C:\eGovFrame-3.9.0\workspace.edu\WEB\webapp" />
  • path : WAS(Web Application Server)에서 웹 애플리케이션을 구분하기 위한 설정 경로.
  • docBase : path에 설정한 경로가 넘어온 경우 실제 읽어들일 경로.  
  • 설정을 완료 후 아래와 같이 입력하여 확인 가능하다.
http://localhost:8080/web
반응형
반응형

# 인프런 MVC 프레임워크는 내손에 4일차 : Web Application 디렉토리구조

  • 회원관리 WEB ERP를 MVC 프레임워크로 만들 예정.

  • 클라이언트 : 브라우저
  • 요청 : resuest
  • 응답 : response

## 회원관리 WEB ERP 생성

### 신규 프로젝트 생성

  • File > New > Java Project 클릭하여 프로젝트 생성 진행

  • 프로젝트 이름 설정 후 다음클릭
  • 프로젝트 이름 하위에 src 존재 확인. 여기서 src에는 .java 소스코드가 들어가고, 이게 컴파일 될 경우 bin에 실행가능한 class 파일이 저장된다.

### 자바 프로젝트 > WEB 프로젝트 변경

  • 이를 위해서는 아래와같은 디렉토리 구조가 필요.

  • 위와 같은 구조가 WEB Application 구조이고, 이런 구조로 되어야 WAS(Tomcat)가 인식한다.
  • 위 구조와 일치하도록 생성.

반응형

+ Recent posts