Step it up now

req/res3) forwarding, request 본문

수업/servlet, JSP

req/res3) forwarding, request

케잉 2023. 12. 5. 20:14

 

  • request - 요청이 유지되는 동안에..

: 요청할 때마다 생기고 서로 독립적이다 - 세션보다는 제한적

: 요청마다 한 개씩 갖는다

: forward시에 사용이 가능

 

 

 

  • forward

화면 그대로..

url이 바뀌지 않는다 (Tomcat에 의해 요청이 유지된다 )

그래서 서블릿에서 가졌던 데이터셋 원본이  jsp에서까지 유지되어 동적처리 가능하게 해준다

 

 

 

 

package com.example.demo.ch6;

@WebServlet("/mime/json3.do")
public class JSon3Servlet extends HttpServlet {
	Logger logger = LoggerFactory.getLogger(JSon3Servlet.class);

	@Override
	protected void doGet(HttpServletRequest req, HttpServletResponse res) throws ServletException, IOException {
		logger.info("doGet");
		
        //데이터 생성, 채움
		//데이터 유지하려면 서블릿에서 그 데이터셋을 가지고 있어야 넘길 수 있다
		List<Map<String,Object>> list = new ArrayList<>();
		Map<String,Object>rmap = new HashMap<>();//SELECT deptno, dname, loc FROM dept
		rmap.put("deptno", 10);
		rmap.put("dname","총무부");
		rmap.put("local","서울");
		list.add(rmap);
		rmap=new HashMap<>();
		rmap.put("deptno", 20);
		rmap.put("dname","개발부");
		rmap.put("local","인천");
		list.add(rmap);
		rmap=new HashMap<>();
		rmap.put("deptno", 30);
		rmap.put("dname","운영부");
		rmap.put("local","서울");
		list.add(rmap);
		
        //생성된 데이터셋을 request의 속성으로 설정
		req.setAttribute("list", list);
        
        //RequestDispatcher를 사용하여 json2Test.jsp 페이지로 포워딩
		RequestDispatcher view = req.getRequestDispatcher("./json2Test.jsp");
		
        // req와 res 원본이 넘겨져야 한다 그래야 서블릿에서 가진 데이터셋을 화면에서 출력할 수 있음
        view.forward(req,res);
	}

}

 

 

 

 

 

  • 서블릿과 뷰가 연결되는 부분 

 

 

'수업 > servlet, JSP' 카테고리의 다른 글

sendRedirect  (0) 2023.12.06
Front Controller  (1) 2023.12.05
req/res2) Redirect  (1) 2023.12.05
req/res1) 클라이언트 - 서블릿  (1) 2023.12.05
유효범위  (1) 2023.12.05