반응형
01. controller.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
//<%-- 전달값에 따라 서로 다른 JSP 문서의 응답결과를 클라이언트에게 전달되도록 스레드를
//이동하는 JSP 문서 - 프로그램의 흐름을 제어하는 기능 --%>
<%
//1.
//전달값을 반환받아 저장
String category=request.getParameter("category");
//2.
if(category==null) {//전달값이 없는 경우
//클라이언트에게 URL 주소가 전달되도록 응답 처리
// => URL 주소를 전달받은 클라이언트는 브라우저의 URL 주소를 변경하여 서버의 자원을
//요청하여 결과를 응답받아 출력 - 페이지 이동
response.sendRedirect("main.jsp");//리다이렉트 이동
return;
}
//3.
//전달값을 이용하여 스레드가 이동될 JSP 문서의 파일 경로를 생성하여 저장
String filePath=category+".jsp";
//System.out.println("filePath = "+filePath);
%>
//<%-- 🎩forward ActionTag : 요청 JSP 문서에서 page 속성값으로 설정된 JSP 문서로 스레드를 이동하여
//명령을 실행하고 처리결과를 클라이언트에게 전달하여 응답하기 위한 태그 --%>
//<%-- 형식) <jsp:forward page="JSP"></jsp:include> 또는 <jsp:forward page="JSP"/> --%>
//<%-- => page 속성값으로 JSP 표현식(Expression) 사용 가능 --%>
//<%-- 포워드 이동 : 요청 JSP 문서에서 응답 JSP 문서로 스레드를 이동하여 응답 처리 --%>
//<%-- => 클라이언트에 상관없이 서버측에서 이동 - 클라이언트 브라우저의 URL 주소 미변경 --%>
<jsp:forward page="<%=filePath %>"/>
02. main.jsp
- action/forward/main.jsp
- action/forward/controller.jsp
- action/forward/controller.jsp?category=main
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>JSP</title>
</head>
<body>
<h1>메인 페이지</h1>
<hr>
// <%-- 🍓방법1. 클라이언트가 각각에 해당하는 JSP 문서 직접 요청 --%>
// <%--
// <a href="company.jsp">회사연혁</a>
// <a href="product.jsp">제품소개</a>
// <a href="order.jsp">주문내역</a>
// <a href="review.jsp">사용후기</a>
// --%>
// <%-- 🍑방법2. 클라이언트가 공통의 JSP 문서를 요청하며, 전달값에 따라 스레드를 이동시켜 명령을 실행하고 처리결과를 직접 "클라이언트"에게 전달 --%>
<a href="controller.jsp?category=company">회사연혁</a>
<a href="controller.jsp?category=product">제품소개</a>
<a href="controller.jsp?category=order">주문내역</a>
<a href="controller.jsp?category=review">사용후기</a>
</body>
</html>
03. company.jsp
- action/forward/controller.jsp?category=company
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>JSP</title>
</head>
<body>
<h1>회사연혁 페이지</h1>
<hr>
<a href="main.jsp">메인 페이지</a>
</body>
</html>
04. product.jsp
- action/forward/controller.jsp?category=product
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>JSP</title>
</head>
<body>
<h1>제품소개 페이지</h1>
<hr>
<a href="main.jsp">메인 페이지</a>
</body>
</html>
05. order.jsp
- action/forward/controller.jsp?category=order
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>JSP</title>
</head>
<body>
<h1>주문내역 페이지</h1>
<hr>
<a href="main.jsp">메인 페이지</a>
</body>
</html>
06. review.jsp
- action/forward/controller.jsp?category=review
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>JSP</title>
</head>
<body>
<h1>사용후기 페이지</h1>
<hr>
<a href="main.jsp">메인 페이지</a>
</body>
</html>
반응형
'jsp' 카테고리의 다른 글
[jsp] 13. useBean 액션태그 미사용 VS useBean 액션태그 사용 예시 (1) | 2024.07.10 |
---|---|
[jsp] 12. include 액션태그(템플릿페이지)를 통한 사이트 구축 (대형사이트에 최적) (0) | 2024.07.10 |
[jsp] 10. include 액션태그를 이용한 프로그램 (실행결과물만 가지고 원래 파일로 이동) (0) | 2024.07.09 |
[jsp] 9. JSP 모델 1 VS JSP 모델 2 (0) | 2024.07.08 |
[jsp] 8. 로그인 프로그램 (0) | 2024.07.07 |