11. 예외 처리 페이지 만들기
2020. 11. 18. 13:46
728x90
1. 오류 페이지 작성하기
exceptionNoProduct.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>상품 아이디 오류</title>
<link rel="stylesheet" href="./resource/css/bootstrap.css" />
</head>
<body>
<jsp:include page="Menu.jsp" />
<div class="jumbotron">
<div class="container">
<h2 class="alert alert-danger">해당 상품이 존재하지 않습니다</h2>
</div>
</div>
<div class="container">
<p><%=request.getRequestURL() %>?<%=request.getQueryString() %>
<P><a href="products.jsp" class="btn btn-secondary">상품 목록 »</a>
</div>
</body>
</html>
2. 상품 상세 보기 페이지 수정하기
Product.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%@ page import="DTO.Product" %>
<%@ page import="DAO.ProductRepository" %>
<%@ page errorPage="exceptionNoProductId.jsp" %>
<jsp:useBean id="productDAO" class="DAO.ProductRepository" scope="session" />
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>상품 상세 정보</title>
<link rel="stylesheet" href="./resources/css/bootstrap.min.css">
</head>
<body>
<%@ include file="Menu.jsp" %>
<div class="jumbotron">
<div class="container">
<h1 class="display-3">
상품 정보
</h1>
</div>
</div>
<%
String id = request.getParameter("id");
ProductRepository dao = ProductRepository.getInstance();
Product product = productDAO.getProductById(id);
%>
<div class="container">
<div class="row">
<div class="col-md-5">
<img src="./upload/<%=product.getFilename()%>"style="width:100%" />
</div>
<div class="col-md-6">
<h3><%=product.getPname() %></h3>
<p><%=product.getDescription() %>
<p><b>상품 코드: </b>
<span class="bagde badge-danger">
<%=product.getProductId() %>
</span>
<p><b>제조사: </b><%=product.getManufacturer() %>
<p><b>분류: </b><%=product.getCategory() %>
<p><b>재고: </b><%=product.getUnitsInStock() %>
<h4><%=product.getUnitPrice() %>원</h4>
<p><a href="#" class="btn btn-info">상품 주문 »</a>
<a href="./Products.jsp" class="btn btn-secondary">상품 목록 »</a>
</div>
</div>
<hr>
</div>
<%@ include file="Footer.jsp" %>
</body>
</html>
3. web.xml 파일에 추가 작성하기
web.xml
<?xml version="1.0" encoding="UTF-8"?>
<web-app>
<security-role>
<description></description>
<role-name>admin</role-name>
</security-role>
<security-constraint>
<display-name>WebMarket Security</display-name>
<web-resource-collection>
<web-resource-name>WebMarket</web-resource-name>
<description></description>
<url-pattern>/addProduct.jsp</url-pattern>
</web-resource-collection>
<auth-constraint>
<description>권한 권리자명</description>
<role-name>admin</role-name>
</auth-constraint>
</security-constraint>
<login-config>
<auth-method>FORM</auth-method>
<form-login-config>
<form-login-page>/login.jsp</form-login-page>
<form-error-page>/login_failed.jsp</form-error-page>
</form-login-config>
</login-config>
<error-page>
<error-code>404</error-code>
<location>/exceptionNoPage.jsp</location>
</error-page>
</web-app>
4. 오류 페이지 작성하기
exceptionNoPage.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>페이지 오류</title>
<link rel="stylesheet" href="./resource/css/bootstrap.css" />
</head>
<body>
<jsp:include page="Menu.jsp" />
<div class="jumbotron">
<div class="container">
<h2 class="alert alert-danger">요청하신 페이지를 찾을 수 없습니다</h2>
</div>
</div>
<div class="container">
<p><%=request.getRequestURL() %></p>
<p><a href="products.jsp" class="btn btn-secondary">상품 목록 »</a></p>
</div>
</body>
</html>
728x90
반응형
'Code > Market' 카테고리의 다른 글
12. 로그 기록하기 (0) | 2020.11.18 |
---|---|
10. 상품 등록 페이지의 보안 처리하기 (0) | 2020.11.18 |
09. 상품 등록 페이지의 다국어 처리하기 (0) | 2020.11.18 |
08. 상품 등록 데이터의 유효성 검사하기 (0) | 2020.09.29 |
07. 상품 이미지 등록하기 (0) | 2020.09.29 |