본문 바로가기

개발/Programming

서블릿 포워드 와 바인딩 기능

반응형

포워드(forward) 기능


하나의 서블릿에서 다른 서블릿이나 JSP와 연동하는 방법

 


포워드 기능이 사용되는 용도

  • 요청에 대한 추가 작업을 다른 서블릿에게 수행
  • 요청(request)에 포함된 정보를 다른 서블릿이나 JSP와 공유함
  • 요청(request)에 대한 정보를 포함시켜 다른 서블릿에 전달할 수 있음
  • 모델2 개발 시 서블릿에서 JSP로 데이터를 전달하는데 사용

 

포워드 방법

1. redirect 방법

  • HttpServletResponse 객체의 sendRedirect( ) 메서드를 이용
  • 웹 브라우저에 재요청하는 방식
  • 형식 : sendRedirect("포워딩할 서블릿 또는 JSP");

2. Refresh 방법

  • HttpServletResponse 객체의 addHeader( ) 메서드를 이용
  • 웹 브라우저에 재요청하는 방식
  • 형식 : response.addHeader("Refresh", 경과시간(초); url=요청할 서블릿 또는 JSP");

3. location 방법

  • 자바스크립트 location 객체의 href 속성을 이용
  • 자바스크립트에서 재요청하는 방식
  • 형식 : location.href='요청할 서블릿 또는 JSP';

4. dispatch 방법

  • 일반적으로 포워딩 기능을 지칭
  • 서블릿이 직접 요청하는 방법
  • RequestDispatcher 클래스의 forward( ) 메서드를 이용
  • 형식 : RequestDispatcher dis = request.getRequestDispatcher("포워드할 서블릿 또는 JSP"); 
  •         dis.forward(request, response);

redirect, refresh, location 방법은 서블릿이 웹 브라우저를 거쳐 다른 서블릿이나 JSP에게 요청하는 방법

반면 dispatch 방법은 서블릿에서 클라이언트를 거치지 않고 바로 다른 서블릿에게 요청하는 방법

 

 

바인딩(binding) 기능


  • 웹 프로그램 실행 시 자원(데이터)를 서블릿 관련 객체에 저장하는 방법
  • 주로 HttpServletRequest, HttpSession, ServletContext 객체에서 사용
  • 저장된 자원은 프로그램 실행 시 서블릿이나 JSP에서 공유해서 사용

서블릿 객체에서 사용되는 바인딩 관련 메서드

  1. setAttribute(String name, Object obj) : 지원(데이터)을 각 객체에 바인딩
  2. getAttribute(String name) : 각 객체에 바인딩된 자원(데이터)을 name으로 가져옴
  3. removeAttribute(String name) : 각 객체에 바인딩된 자원(데이터)을 name으로 제거

 

반응형