728x90
반응형
<jsp:forward> 액션 태그
① 요청 위임 : 요청과 응답을 다른 JSP 페이지, 서블릿, 또는 자원으로 전달합니다. 이 과정에서 브라우저의 주소창 URL은 변경되지 않습니다.
② 처리 연속성: 요청이 전달되면 원래의 JSP 페이지에서 처리 중이던 상태가 유지되며, 새로운 페이지에서 계속해서 처리됩니다. 즉, 요청과 응답의 객체가 그대로 전달됩니다.
③ 서버 사이드 전환: 포워딩은 서버 사이드에서 일어나며 클라이언트가 직접적으로 인식하지 못합니다. 클라이언트는 여전히 원래의 요청 URL을 보고하게 됩니다.
④ 컨트롤러 역할: 포워딩은 JSP 페이지가 비즈니스 로직을 처리하고, 결과를 다른 JSP 페이지로 전달할 때 유용합니다. 이는 모델-뷰-컨트롤러(MVC) 패턴을 구현할 때 자주 사용됩니다.
<jsp:forward page="targetPage.jsp" />
위의 코드에서는 현재 JSP 페이지에서 targetPage.jsp로 요청을 포워딩합니다. 이 때, 클라이언트의 URL은 여전히 현재 페이지의 URL로 유지되며, targetPage.jsp에서 응답을 생성하게 됩니다.
추가로, <jsp:forward> 태그는 page 속성 외에도 param 속성을 통해 포워딩된 페이지로 추가 파라미터를 전달할 수도 있습니다.
<jsp:forward page="targetPage.jsp">
<jsp:param name="param1" value="value1" />
</jsp:forward>
pass.jsp
0.00MB
main.jsp
0.00MB
log.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
<h1>로그인</h1>
<form action= "pass.jsp" method= "post">
아이디: <input type= "text" name= "userId"/><br>
비밀번호: <input type= "password" name= "userpw"/><br>
<input type="submit" value="로그인"/>
</form>
</body>
</html>
pass.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
<%
// 로그인 처리 로직(고정값 예시)
String userId = request.getParameter("userId");
String userpw = request.getParameter("userpw");
// DB에서 사용자 정보 조회 및 비교 로직 대신 고정값으로 비교
if (userId.equals("test") && userpw.equals("123")){
request.setAttribute("loginId", userId);
%>
<jsp:forward page="main.jsp"/>
<%
} else { // 유효하지 않는 사용자인 경우
%>
<p>아이디 또는 비밀번호가 일치하지 않습니다.</p>
<%
}
%>
</body>
</html>
main.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
<%
String loginId = (String) request.getAttribute("loginId");
%>
<h2>환영합니다. <%= loginId %>님!</h2>
</body>
</html>
728x90
반응형
'JSP' 카테고리의 다른 글
JSP(Oracle_table)_2024-08-27 (0) | 2024.08.27 |
---|---|
JSP(쿠키)_2024-08-26 (0) | 2024.08.26 |
JSP(주요 포인트, 동작원리)_2024-08-23 (0) | 2024.08.26 |
JSP(연습문제)_2024-08-21 (0) | 2024.08.22 |
JSP(필수명령어)_2024-08-21 (0) | 2024.08.21 |