Search

JSP λ ˆμ΄μ•„μ›ƒ κ΅¬μ„±ν•˜κΈ°

JSP λ ˆμ΄μ•„μ›ƒ κ΅¬μ„±ν•˜κΈ°

JSP νŽ˜μ΄μ§€μ˜ κ³΅ν†΅λ˜λŠ” λ ˆμ΄μ•„μ›ƒ μ˜μ—­μ€ λ³„λ„μ˜ JSP νŒŒμΌμ„ λ§Œλ“€κ³  각 νŽ˜μ΄μ§€λ³„λ‘œ ν¬ν•¨ν•˜μ—¬(include) μ μš©ν•œλ‹€.
맀 νŽ˜μ΄μ§€ λ³„λ‘œ, λ°˜λ³΅λ˜λŠ” λ ˆμ΄μ•„μ›ƒ μ˜μ—­μ˜ μ½”λ“œλ₯Ό μž‘μ„±ν•˜λ©΄ μ½”λ“œμ˜ μ€‘λ³΅μœΌλ‘œ μΈν•΄μ„œ μœ μ§€λ³΄μˆ˜(μˆ˜μ •)ν•˜κΈ° μ–΄λ ΅λ‹€.
헀더, ν‘Έν„°, μ‚¬μ΄λ“œλ°”, css, js 등을 λͺ¨λ“ˆ 파일(jsp)둜 κ΅¬λΆ„ν•˜μ—¬ νŒŒμΌμ„ λ§Œλ“€κ³ , 각 νŽ˜μ΄μ§€μ—μ„œ ν•΄λ‹Ή νŽ˜μ΄μ§€λ₯Ό μ°Έμ‘°ν•˜μ—¬ ν¬ν•¨ν•˜λ©΄, ν•΄λ‹Ή 파일만 μˆ˜μ •ν•˜λ©΄ λͺ¨λ“  νŽ˜μ΄μ§€μ— κ³΅ν†΅λœ λ ˆμ΄μ•„μ›ƒμ΄ μ μš©λœλ‹€.

μ΅œμ’…ν™”λ©΄

JSP λ ˆμ΄μ•„μ›ƒ ꡬ성 μ‹€μŠ΅ν•΄λ³΄κΈ°

β€’
ν”„λ‘œμ νŠΈ 생성
β€’
layout 폴더 생성
β—¦
곡톡 λͺ¨λ“ˆ νŽ˜μ΄μ§€ 생성
β–ͺ
meta.jsp
β–ͺ
link.jsp
β–ͺ
script.jsp
β–ͺ
header.jsp
β–ͺ
footer.jsp
β€’
κ°œλ³„ νŽ˜μ΄μ§€ 생성
β—¦
index.jsp
β€’
λͺ¨λ“ˆ νŽ˜μ΄μ§€ ν¬ν•¨ν•˜κΈ°

ν”„λ‘œμ νŠΈ 생성

1.
New
2.
Dynamic Web Project
3.
web.xml

layout 폴더 생성

webapp/layout 폴더 생성

곡톡 λͺ¨λ“ˆ νŽ˜μ΄μ§€ 생성

μ—¬λŸ¬ νŽ˜μ΄μ§€μ—μ„œ κ³΅ν†΅μ μœΌλ‘œ μ‚¬μš©λ˜λŠ” λ ˆμ΄μ•„μ›ƒ μ˜μ—­μ„ νŽ˜μ΄μ§€λ‘œ μƒμ„±ν•œλ‹€.

meta.jsp

<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <% String root = request.getContextPath(); %> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>ShopπŸ›’ - ALOHA CLASS🌴</title> <!-- νŒŒλΉ„μ½˜ --> <link rel="icon" href="<%= root %>/static/img/logo.png" type="image/x-icon"> <!-- 썸넀일 이미지 μ„€μ • --> <meta property="og:image" content="https://i.imgur.com/yiTQ3EV.jpg"> <!-- μ›Ή νŽ˜μ΄μ§€ μ„€λͺ… (선택 사항) --> <meta property="og:description" content="ALOHA CLASS🌴 - μ‡Όν•‘λͺ° ν”„λ‘œμ νŠΈ"> <!-- μ›Ή νŽ˜μ΄μ§€ URL --> <meta property="og:url" content="<%= root %>"> <!-- μ›Ή νŽ˜μ΄μ§€ 제λͺ© --> <meta name="title" content="ShopπŸ›’ - ALOHA CLASS🌴"> <meta property="og:title" content="ShopπŸ›’ - ALOHA CLASS🌴"> <!-- μ›Ή νŽ˜μ΄μ§€ νƒ€μž… (μ›Ήμ‚¬μ΄νŠΈ, 기사, μ œν’ˆ λ“±) --> <meta property="og:type" content="website"> <!-- 검색어 --> <meta name="keywords" content="μ‡Όν•‘λͺ° ν”„λ‘œμ νŠΈ, μžλ°” μ›Ήκ°œλ°œ, ALOHA CLASS, μ•Œλ‘œν•˜ 클래슀"> <meta name="robots" content="index, follow"> <!-- μ‚¬μ΄νŠΈ 맡 --> <link rel="sitemap" href="<%= root %>/static/sitemap.xml">
HTML
볡사

link.jsp

<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <!-- bootstrap lib --> <link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.1/dist/css/bootstrap.min.css" rel="stylesheet" integrity="sha384-4bw+/aepP/YC94hEpVNVgiZdgIC5+VKNBQNGCHeKRQN+PtmoHDEXuppvnDJzQIu9" crossorigin="anonymous"> <!-- font --> <link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Noto+Sans:400,700&display=swap"> <!-- css --> <link href="<%= request.getContextPath() %>/static/css/style.css" rel="stylesheet" />
HTML
볡사

script.jsp

<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <!-- booststrap --> <script src="https://cdn.jsdelivr.net/npm/bootstrap@5.3.1/dist/js/bootstrap.bundle.min.js" integrity="sha384-HwwvtgBNo3bZJJLYd8oVXjrBZt8cqVSpeBNS5n7C8IVInixGAoxmnlMuBnhbgrkm" crossorigin="anonymous"></script> <!-- js --> <script src="<%= request.getContextPath() %>/static/js/script.js"></script>
HTML
볡사

header.jsp

<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%> <%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions"%> <%@ taglib prefix="sql" uri="http://java.sun.com/jsp/jstl/sql"%> <%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %> <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <% String root = request.getContextPath(); String loginId = (String) session.getAttribute("loginId"); %> <nav class="navbar bg-dark navbar-expand-lg bg-body-tertiary" data-bs-theme="dark"> <div class="container-fluid"> <a class="navbar-brand" href="<%= root %>/">Home</a> <button class="navbar-toggler" type="button" data-bs-toggle="collapse" data-bs-target="#navbarSupportedContent" aria-controls="navbarSupportedContent" aria-expanded="false" aria-label="Toggle navigation"> <span class="navbar-toggler-icon"></span> </button> <div class="collapse navbar-collapse" id="navbarSupportedContent"> <ul class="navbar-nav me-auto mb-2 mb-lg-0"> <li class="nav-item"> <a class="nav-link active" aria-current="page" href="<%= root %>/shop/products.jsp">Product</a> </li> </ul> <ul class="navbar-nav d-flex align-items-center px-3"> <% if( loginId == null || loginId.equals("") ) { %> <!-- λΉ„λ‘œκ·ΈμΈ μ‹œ --> <li class="nav-item"> <a class="nav-link" aria-current="page" href="<%= root %>/user/login.jsp">둜그인</a> </li> <li class="nav-item"> <a class="nav-link" aria-current="page" href="<%= root %>/user/join.jsp">νšŒμ›κ°€μž…</a> </li> <li class="nav-item"> </li> <% } else { %> <!-- 둜그인 μ‹œ --> <li class="nav-item"> <div class="dropdown"> <a href="#" class="d-flex align-items-center link-body-emphasis text-decoration-none dropdown-toggle" data-bs-toggle="dropdown" aria-expanded="false"> <img src="https://github.com/mdo.png" alt="" width="32" height="32" class="rounded-circle me-2"> <%-- <strong><%= loginId %></strong> --%> </a> <ul class="dropdown-menu dropdown-menu-end text-small shadow"> <li><a class="dropdown-item" href="<%= root %>/user/index.jsp">마이 νŽ˜μ΄μ§€</a></li> <li><a class="dropdown-item" href="<%= root %>/user/update.jsp">νšŒμ›μ •λ³΄ μˆ˜μ •</a></li> <li><hr class="dropdown-divider"></li> <li><a class="dropdown-item" href="<%= root %>/user/logout.jsp">λ‘œκ·Έμ•„μ›ƒ</a></li> </ul> </div> </li> <% } %> </ul> </div> </div> </nav>
HTML
볡사

footer.jsp

<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <footer class="container p-5"> <p>copyright Shop</p> </footer>
HTML
볡사

κ°œλ³„ νŽ˜μ΄μ§€ 생성

곡톡 λͺ¨λ“ˆ νŽ˜μ΄μ§€λ₯Ό 포함할 κ°œλ³„ νŽ˜μ΄μ§€λ₯Ό μƒμ„±ν•œλ‹€.

index.jsp

<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%> <%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions"%> <%@ taglib prefix="sql" uri="http://java.sun.com/jsp/jstl/sql"%> <%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %> <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <% String root = request.getContextPath(); String loginId = (String) session.getAttribute("loginId"); %> <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <!-- meta, link ν¬ν•¨ν•˜κΈ° --> </head> <body> <!-- header ν¬ν•¨ν•˜κΈ° --> <div class="px-4 py-5 my-5 text-center"> <h1 class="display-5 fw-bold text-body-emphasis">메인화면</h1> <div class="col-lg-6 mx-auto"> <p class="lead mb-4">Shop μ‡Όν•‘λͺ° μž…λ‹ˆλ‹€.</p> <div class="d-grid gap-2 d-sm-flex justify-content-sm-center"> <a href="<%= root %>/shop/products.jsp" class="btn btn-primary btn-lg px-4 gap-3">μƒν’ˆλͺ©λ‘</a> <% if( loginId == null || loginId.equals("") ) { %> <a href="<%= root %>/user/login.jsp" class="btn btn-outline-secondary btn-lg px-4">둜그인</a> <% } else { %> <a href="<%= root %>/user/logout.jsp" class="btn btn-outline-danger btn-lg px-4">λ‘œκ·Έμ•„μ›ƒ</a> <% } %> </div> </div> </div> <!-- footer ν¬ν•¨ν•˜κΈ° --> <!-- script ν¬ν•¨ν•˜κΈ° --> </body> </html>
HTML
볡사

λͺ¨λ“ˆ νŽ˜μ΄μ§€ ν¬ν•¨ν•˜κΈ°

index.jsp - 전체 μ½”λ“œ

<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%> <%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions"%> <%@ taglib prefix="sql" uri="http://java.sun.com/jsp/jstl/sql"%> <%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %> <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <% String root = request.getContextPath(); String loginId = (String) session.getAttribute("loginId"); %> <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <jsp:include page="/layout/meta.jsp" /> <jsp:include page="/layout/link.jsp" /> </head> <body> <jsp:include page="/layout/header.jsp" /> <div class="px-4 py-5 my-5 text-center"> <h1 class="display-5 fw-bold text-body-emphasis">메인화면</h1> <div class="col-lg-6 mx-auto"> <p class="lead mb-4">Shop μ‡Όν•‘λͺ° μž…λ‹ˆλ‹€.</p> <div class="d-grid gap-2 d-sm-flex justify-content-sm-center"> <a href="<%= root %>/shop/products.jsp" class="btn btn-primary btn-lg px-4 gap-3">μƒν’ˆλͺ©λ‘</a> <% if( loginId == null || loginId.equals("") ) { %> <a href="<%= root %>/user/login.jsp" class="btn btn-outline-secondary btn-lg px-4">둜그인</a> <% } else { %> <a href="<%= root %>/user/logout.jsp" class="btn btn-outline-danger btn-lg px-4">λ‘œκ·Έμ•„μ›ƒ</a> <% } %> </div> </div> </div> <jsp:include page="/layout/footer.jsp" /> <jsp:include page="/layout/script.jsp" /> </body> </html>
HTML
볡사