2 분 소요

안녕하세요. Nerd-Lee입니다.
공부 내용은, 인프런 박매일님의 [NarP Series]MVC 프레임워크는 내 손에[나프1탄] 을 참고하였습니다.
MVC 2단계인, Servlet이 아닌 JSP로 View를 제작하는 환경으로 만들어보고, MVC 3단계로 넘어가서
나중에는 Spring Framework를 사용하는 방식의 강의입니다.

진도가 빠르게 나가지 않아, 중요하다고 생각하는 부분들만 작성할 예정입니다.


1. MVC02 프로젝트 만들기

  • MVC02라는 프로젝트를 Dynamic Web Project로 생성한 후에 root는 MVC02로 설정하여 만든다.
  • WAS와 Context(연결)을 해줘야 한다. Servers -> Tomcat server 오른쪽 클릭하고, Add and Remove를 클릭
    MVC02를 Add 해주면 완료.

2. 프로젝트 셋팅

  • MVC01에 사용했던 mysql-connector를 MVC02 프로젝트로 복사-붙혀넣기 한다.
  • MVC01에 사용한 db와 model 패키지도 복사-붙혀넣기해서 src 폴더에 넣어주자.

3. JSP란?

  • JSP는, Java Server Page의 약자이다. 서블릿도 물론 Server + let 을 붙인 단어로 100% 자바 웹 프로그래밍이지만
    JSP와 Servlet의 차이는, Servlet은 Controller, JSP는 View 역할을 담당한다는 것이다.
  • 그럼 간단하게, JSP 파일을 만들어보자. WebContent 폴더를 오른쪽 마우스로 클릭해서, new -> JSP File을 클릭하자.
  • 그리고 test01.jsp 파일을 만든다.

4. JSP 구성요소 파헤치기

  • 4-1. 아래와 같은 형태는 jsp에서, 지시자라고 부르게 된다. 지시자는 스크립트적인 요소(프로그래밍적인 요소) 이다.
    지시자는 3가지 형태로 사용할 수 있다. 첫 번째는 page 지시자이다. page 지시자<% %> 안에, page라고 적혀있다.
    두번째는 include 지시자 이다. <% %>안에, include가 적혀있다.
    세번째는 taglib 지시자 이다. <% %>안에, taglib가 적혀있다.
<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
  • 4-2. JSP로 간단하게, 1~?? 까지 더했을 때 총합을 구하는 웹 프로그램을 만들어보자.
    이 부분은 Spring-Boot 카테고리에도 적어놨던 부분이다.
    <% %> 사이에, 코드를 작성할 수 있다. 이렇게 코드를 작성할 수 있는 것을 스크립트릿 이라고 부른다.
    아래의 코드를 살펴보자. 아래 코드는 1~10까지의 합을 구하는 코드이다.
<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<%
	int sum =0;
	for(int i=1; i<=10; i++){
		sum += i;
	}
%>
  • 4-3. 그럼 이제 sum의 값을 출력시켜줘야 하는데, 출력을 할 수 있는 방법은 <%=sum %> 이렇게 만들어줘야
    스크립트릿에서 만들어준 코드를 return 받아서 출력할 수가 있고, 이와 같은 형식을 출력식 이라고 부른다.
    아래 코드를 살펴보도록 하자.
<%@ 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>
1~10까지의 총합= <%=sum %>
</body>
</html>
  • 서블릿과 jsp의 차이는, 서블릿은 html 코드를 따로따로 입력해줘야 하기 때문에
    태그수가 적으면 상관이 없으나 많아지면 유지보수도 어려워지고 복잡해진다는 큰 단점이 있다.
    하지만, JSP는 HTML 태그도 같이 사용할 수 있기 때문에, 디자인적 요소로도 서블릿보다는 간편하다는 장점이 있다.


  • 4-4. 그럼 이젠, 1부터 시작이 아니라, ?? ~ ?? 까지의 숫자를 입력한 합을 출력하는 방식을 만들어보도록 하자.
    함수를 만들기 위해서는 <% %>가 아닌, <%! %> 선언문으로 만들어줘야 함수를 사용할 수가 있다.
    <%! %>는 JSP에서 선언문이라고 부른다. 아래의 코드를 보도록 하자.
<%!
	public int result(int s, int e){
		int sum = 0;
		for(int i=s; i<=e; i++){
			sum += i;
		}
		return sum;
	}
%>    
  • 위는, 두 개의 수를 가지고 와서, 계산을 한 다음 값을 반환하는 함수이다. 그럼 출력을 해보도록 하자.
<%-- 지시자 --%>
<%@ page language="java" contentType="text/html; charset=UTF-8"
	pageEncoding="UTF-8"%>

<%-- 선언문 --%>
<%!
	public int result(int s, int e) {
		int sum = 0;
		for (int i = s; i <= e; i++) {
			sum += i;
		}
		return sum;
	}
%>

<%-- 스크립트릿 --%>
<%
	int sum = 0;
for (int i = 1; i <= 100; i++) {
	sum += i;
}
%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
	<table border="1">
		<tr>
			<td>1~100까지의 총합</td>
			<%-- 출력식 --%>
			<td><%=sum%></td>
		</tr>
		<tr>
			<td>55~350까지의 총합</td>
			<td><%=result(55, 350)%></td>
		</tr>
	</table>
</body>
</html>
  • 그럼 테이블 형태로, 5050과 59940이라는 결과값이 출력이 잘 되는 것을 확인할 수 있다.
    마지막으로, JSP는 <% %> (지시자), <%= %> (출력식), <%! %> (선언문), <%-- --%> (JSP 주석) 으로 구성되어 있다.
    기억하도록 하자!


이 글이 도움이 되셨다면 댓글 부탁드립니다^^
다음 글로 찾아오겠습니다!