-
JSP 내장 객체 (2) - forward웹 Web/JSP & Servlet 2022. 1. 17. 13:10
forward
p.196
forward 방식:
forward 메소드는 requestDispatcher 객체로 접근해야만 호출 가능.
requestDispatcher 객체는 request 객체의 getRequestDispatcher() 메소드를 호출하여 얻어냄
이렇게 얻어냄 requestDispatcher 객체로 forward() 메소드를 호출하면 getRequestDispatcher()메소드의 매개 변수로 지정한 페이지로 이동
p.208 내장객체에서
<44_loginForm.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> <form method="post" action="45_redirectTest.jsp"> <h2>나이를 입력하세요</h2> <br> <label for="userage"> 나이: </label> <input type="text" name="age" id="userage"> <br> <input type="submit" value="입장"> </form> </body> </html>
<45_redirectTest.jsp>
<html> <head> <meta charset="UTF-8"> <title>Insert title here</title> </head> <body> <% int age = Integer.parseInt((request.getParameter("age"))); if(age <= 19) { %> <script> alert("미성년자는 이용하실 수 없습니다"); history.go(-1); // 이전페이지로 돌아가기 </script> <% } else { request.setAttribute("name", "최연준"); RequestDispatcher dispatcher = request.getRequestDispatcher("44_main.jsp"); dispatcher.forward(request, response); } %> </body> </html>
<44_main.jsp>
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <% String name = (String)request.getAttribute("name"); String age = request.getParameter("age"); %> <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>Insert title here</title> </head> <body> <h1>환영합니다</h1> 이름: <%=name %> <br> 나이: <%=age %> </body> </html>
환영합니다
이름: 최연준
나이: 24'웹 Web > JSP & Servlet' 카테고리의 다른 글
Servlet과 JSP간 데이터 전달 - RequestDispatcher (0) 2023.02.07 JSP 내장 객체 (3) - Application 내장 객체 (0) 2022.01.24 JSP 내장 객체 (1) - JSP로 설문조사폼(sendRedirect..) (0) 2022.01.17 JSP 내장객체 (0) - JSP로 설문조사폼 (0) 2022.01.17 JSP 기본 다루기 - 기본태그, 지시자 (0) 2022.01.16