ProgrammingLang/JSP

[JSP] 3. redirect 와 forward

jinkwon.kim 2018. 6. 24. 19:20
728x90
반응형

[JSP] 3. redirect 와 forward


JSP 정리 목록

이전 글([JSP] 2. jsp 기본 문법)

다음 글([JSP] 4. jsp의 scope 정리)


1. redirect

  - 클라이언트위 요청을 다른 페이지로 다시 연결 하는 기능 


  - 활용 범위 : 분산처리하여 서버를 운용할수 있다.

  - redirection을 가능하게 해주는 코드

<%

response.sendRedirect("resdirection02.jsp"); 

%>




2. forward

  - 클라이언트의 요청을 WAS내부에서 다른 페이지에 전달 하는 기능


  1) 필용성

- 로직과 표현을 분리 하기위해서 사용 할 수 있다. jsp는 로직 적인 것보다는 표현 적인것이 많기 때문에 로직을 많이 넣기에는 적합하지 않다. 그래서 로직 적인 것을 서블릿으로 처리하고 그결과는 jsp로 전달 하게 되면 좀더 효율적인 협업이 가능한다.


  2) logic 서블릿 구현 코드 

- forwarding을 통해 데이터를 전달 하기위해서는 request 객체과 resposne 객체를 전달하면된다. 그래서 서블릿에서 구한 결과값을 request에 넣어 전달하게는 일반적이다.

- 구현 절차 

  request.setAttribute("dice", dicevalue); // key , value 형식으로 request에 데이터를 저장할 수있다.    

 RequestDispatcher 객체를 통하여 어디로 fowarding을 할지 설정한다.

- 예제 코드 

    protected void service(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
            
            int diceValue = (int)(Math.random() * 6) + 1; 
            request.setAttribute("dice", diceValue);
            
            RequestDispatcher requestDispatehcer = request.getRequestDispatcher("/next");
            requestDispatehcer.forward(request, response);
    }

  3) view.jsp 구현 코드

- request.getAttrivute("dice");  //key 값을 통하여 logic 서블릿에서 저장한 값을 가져와서 사용할수 있다. 

  int dice = (Integer)request.getAttribute("dice");
        out.println("dice : " + dice);

        o+ dice);

JSP 정리 목록

이전 글([JSP] 2. jsp 기본 문법)

다음 글([JSP] 4. jsp의 scope 정리)

728x90
반응형