메인 페이지에 상품 목록이 나오는 웹 페이지가 있다.
이때, 해당 상품을 누르면 상품 상세페이지가 보이고
품절이 된 상품은 아예 상세 페이지를 볼 수 없다.
제품을 선택해 상세페이지를 보게 되면 위의 화면이 나온다.
상세페이지의 url 주소를 확인하면? 상품의 번호가 보인다.
만약 num=2로 수정한다면
이렇게 2번 상품인 콜라의 정보를 확인할 수 있다.
위와 같은 방식으로 품절 상품이나 아예 없는 번호를 입력하더라도 페이지 이동이 가능한 상태이다.
이런 경우 별도의 error 페이지를 만들어 해당 페이지로 보낼 수 있다.
// controller.jsp
else if(action.equals("PRODUCT")){
productDTO=productDAO.selectOne(productDTO);
if(productDTO!=null && productDTO.getCnt()>0){
request.setAttribute("data", productDTO);
pageContext.forward("product.jsp");
}
else{
response.sendRedirect("error.jsp"); // 리다이렉트
}
}
if문을 사용하여 error.jsp로 페이지를 이동시킨다.
이때 보내야 할 데이터는 없기 때문에 리다이렉트 방식으로 보내준다.
// error.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>에러 페이지</title>
</head>
<body>
<h1>해당 상품은 없거나 구매가 불가능한 상품입니다!</h1>
<a href='controller.jsp?action=MAIN'>메인으로 돌아가기</a>
</body>
</html>
에러페이지에는 사용자에게 안내할 문구와,
처음으로 돌아갈 수 있도록 action 파라미터 값을 controller에게 전달해 주는 코드를 작성해 준다.
품절상품인 5번을 입력해 보면
설정한 페이지로 이동하는 것을 확인할 수 있다.
'WEB > 백' 카테고리의 다른 글
[WEB] JSTL (0) | 2024.08.25 |
---|---|
[WEB] EL식 (0) | 2024.08.22 |
[WEB] 요청과 기능 (action 파라미터) (0) | 2024.08.22 |
[JSP] useBean (0) | 2024.08.12 |
[JSP] jsp 파일로 간단한 쇼핑몰 페이지 만들기 (0) | 2024.08.11 |