[3장 연습문제]


01. 디렉티브 태그의 세 가지 유형에 대해 간단히 설명하시오.


1. page: JSP 페이지에 대한 정보(콘텐츠 유형, 사용할 자바 클래스, 오류 페이지 설정 등등)를 설정한다. 형식) <%@ page%>

2. include: 페이지의 특정영역에 다른문서를 포함하여 코드를 줄이고 재사용해 유지보수가 좋다. 형식) <%@ include%>

3. taglib: JSP 페이지에서 사용할 태그 라이브러리를 설정한다. 형식) <%@ taglib%>


02. JSP 페이지가 사용할 자바 클래스를 설정하기 위한 page 디렉티브 태그의 속성은 무엇인가?


-> import 속성

ex) <%@ page import="java.util.Date"%>


03. JSP 페이지의 특정 영역에 외부 파일의 내용을 포함하는 디렉티브 태그는 무엇인가?


-> include 태그

ex) 머리글, 바닥글 등에 include 태그를 이용하여 각각 작성해둔 외부 파일로 불러와서 사용한다.


04. page 디렉티브 태그를 이용하여 다음 조건에 맞게 JSP 애플리케이션을 만들고 실행 결과를 확인하시오.

1. page.jsp파일을 생성합니다.

- page 디렉티브 태그에 java.util.Date, java.lang.Math 클래스를 이용하여 현재 날짜와 5의 제곱을 출력합니다.

2. 웹 브라우저에 http://localhost:8080/Exercise/ch03/page.jsp를 입력하여 실행결과를 확인합니다.


코드

2개의 클래스를 import하여 10,11행처럼 작성하면됩니다. 두 문장 간 개행 처리는 <p></p> 또는 <br>을 사용합니다.

1
2
3
4
5
6
7
8
9
10
11
12
13
<%@page contentType="text/html; charset=utf-8" %>
<%@ page import="java.util.Date" %>
<%@ page import="java.lang.Math" %>
<html>
<head>
<title>Directives Tag</title>
</head>
<body>
    <% Date day=new java.util.Date();%>
    현재 날짜:<%=day %><br>
    5의 제곱:<%=Math.pow(5,2) %>
</body>
</html>
cs


05. include디렉티브태그를 이용하여 다음 조건에 맞게 JSP애플리케이션을 만들고 실행결과를 확인하시오.


1. header.jsp파일을 생성합니다.

- <h4> 태그를 이용하여 'Hello, Java Server Pages.'를 선언합니다.

2. include.jsp 파일을 생성합니다.

- include 디렉티브 태그를 이용하여 외부 파일 header.jsp의 내용을 포함합니다.

- java.util.Calendar 클래스를 이용하여 현재 시간을 출력합니다.(간단하게 Date클래스를 사용했습니다.)

3. 웹 브라우저에 http://localhost:8080/Exercise/ch03/include.jsp를 입력하여 실행결과를 확인합니다.


코드

1. header.jsp

1
2
3
<h4>
    Hello, Java Server Pages.
</h4>
cs

2. include.jsp
1
2
3
4
5
6
7
8
9
10
11
12
13
<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<%@ page import="java.util.Date" %>
<html>
<head>
<title>Directives Tag</title>
</head>
<body>
    <%@ include file="header.jsp" %>
    <% Date day=new java.util.Date();%>
    Current Time: <%=day %>
</body>
</html>
cs

06. taglib 디렉티브태그를 이용하여 다음 조건에 맞게 JSP애플리케이션을 만들고 실행 결과를 확인하시오.


1. /WEB-INF/lib 폴더에 JSTL 태그 라이브러리인 JSTL-1.2.jar 파일을 추가합니다.

2. taglib.jsp파일을 생성합니다.

- taglib 디렉티브 태그에 JSTL의 Core 태그를 설정하여 0부터 10까지의 짝수를 출력합니다.

3. 웹 브라우저에 http://localhost:8080/Exercise/ch03/taglib.jsp를 입력하여 실행 결과를 확인합니다.


코드

if문을 사용하여 k중 짝수만 판별하여 출력하는 코드입니다.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
 
<html>
<head>
<title> Directives Tag</title>
</head>
<body>
    <c:forEach var="k" begin="0" end="10" step="1">
        <c:if test="${k%2==0}">
        <c:out value="${k}"/>
        </c:if>
    </c:forEach>
</body>
</html>
 
cs


07. 다음 조건에 맞게 도서 웹 쇼핑몰을 위한 웹 애플리케이션을 만들고 실행 결과를 확인하시오.

1. 생성된 BookMarket 프로젝트를 사용합니다.

2. WebContent 폴더의 머리글에 해당하는 menu.jsp파일을 생성합니다.

3. WebContent 폴더의 바닥글에 해당하는 footer.jsp파일을 생성합니다.

4. WebContent 폴더의 welcome.jsp파일을 수정합니다.

- include 디렉티브 태그를 이용하여 머리글 menu.jsp와 바닥글 footer.jsp파일의 내용을 포함합니다.

- page 디렉티브 태그의 contentType속성을 이용하여 한글을 출력합니다.

5. 웹 브라우저에 http://localhost:8080/BookMarket/welcome.jsp를 입력하여 실행 결과를 확인합니다.


코드

1. menu.jsp(머리글)

1
2
3
4
5
6
7
<nav class="navbar navbar-expand navbar-dark bg-dark">
    <div class="container">
        <div class="navbar-header">    
            <a class="navbar-brand" href="./welcome.jsp">Home</a>
        </div>
    </div>
</nav>
cs


2. welcome.jsp(본문)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
     <%@ page import="java.util.Date" %>
    
<!DOCTYPE html>
<html>
<head>
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.2/css/bootstrap.min.css">
<title>Welcome</title>
</head>    
<body>
 
<%@ include file="menu.jsp" %>
<%! String greeting="도서 웹 쇼핑몰";
String tagline="Welcome to Web Market!";
%>
<%-- 대형 전광판을 의미함 jumbtron --%>
<div class="jumbotron">
    <div class="container">
        <h1 class="display-3">
        <%=greeting %>
        </h1>
    </div>
</div>
<%--센터에  출력되는    --%>
<div class="container">
    <div class="text-center">
        <h3>
            <%=tagline %>
        </h3>
 
    </div>
    <hr>
</div>
<%@ include file="footer.jsp" %>
</body>
</html>
cs


3. footer.jsp(바닥글)

1
2
3
<footer class="container">
    <p>&copy; BookMarket</p>
</footer>
cs





+ Recent posts