[문법]
RequestDispatcher rd = request.getRequestDspatcher("요청재지정할 web application path")
<요청재지정할 web application path: response하지않고 한번의 요청으로 서블릿과 jsp가 실행되므로 path는 context명은 빼고 정의하기>
rd.forward(request객체, response객체)
@WebServlet(name = "include", urlPatterns = {"/included"})
public class IncludeTestServlet extends HttpServlet {
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
request.setCharacterEncoding("UTF-8");
response.setContentType("text/html;charset=UTF-8");
PrintWriter out = response.getWriter();
System.out.println("Include연습 - IncludeTestServlet");
out.print("<h1>요청재지정연습 -Include</h1>");
//데이터공유하기
MemberDTO dto = new MemberDTO("bts1", "1234", "슈가", "대구", "래퍼");
//공유하고싶은 scope객체의 메소드를 호출
request.setAttribute("mydata", dto);
//요청재지정
RequestDispatcher rd = request.getRequestDispatcher("/jspbasic/result.jsp");
rd.include(request, response);
}
}

@WebServlet(name = "forward", urlPatterns = {"/forward"})
public class ForwardTestServlet extends HttpServlet {
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
request.setCharacterEncoding("UTF-8");
response.setContentType("text/html;charset=UTF-8");
PrintWriter out = response.getWriter();
System.out.println("Forward연습 - ForwardTestServlet");
out.print("<h1>요청재지정연습 -Forward</h1><hr/><hr/><hr/>");
//데이터공유하기
MemberDTO dto = new MemberDTO("bts1", "1234", "슈가", "대구", "래퍼");
//공유하고싶은 scope객체의 메소드를 호출
request.setAttribute("mydata", dto);
//요청재지정
RequestDispatcher rd = request.getRequestDispatcher("/jspbasic/result.jsp");
rd.forward(request, response);
}
}

<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>actiontag_sub</title>
</head>
<body>
<hr/><hr/><hr/><hr/>
<h1>forward나 include될 페이지:</h1>
<hr/><hr/><hr/><hr/>
</body>
</html>
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>includeTest</title>
</head>
<body>
<h1>jsp에서 include하기</h1>
<h3>서블릿의 include와 동일하게 동작</h3>
<%System.out.println("includeTest실행"); %>
<!-- jsp에서 include하기(잘사용되지않는다) -->
<jsp:include page="/jspbasic/actiontag_sub.jsp"/>
<h1>========================include 액션태그 테스트============================</h1>
</body>
</html>

<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>forwardTest</title>
</head>
<body>
<h1>jsp에서 forward하기</h1>
<h3>서블릿의 forward와 동일하게 동작</h3>
<%System.out.println("forwardTest실행"); %>
<!-- jsp에서 forward하기(잘사용되지않는다) -->
<jsp:forward page="/jspbasic/actiontag_sub.jsp"/>
</body>
</html>



본 포스팅은 멀티캠퍼스의 멀티잇 백엔드 개발(Java)의 교육을 수강하고 작성되었습니다.