서블릿 확장 API 사용하기 - 포워드,바인딩

yedy·2023년 5월 23일
0

[Servlet]

목록 보기
4/6
post-thumbnail

✔️ 서블릿 포워드 기능 사용하기

포워드 기능

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

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

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

판 페이지가 여러개의 서블릿과 연동해야 할 경우 포워드 기능을 사용한다.!!!
ex) 쇼핑몰에서 상품관리, 주문관리, 회원관리 등등
정보를 공유하기 위해서!

✔️ 서블릿의 포워드 방법

redirect 방법

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

refresh 방법

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

location 방법

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

dispatch 방법

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

redirect를 이용한 포워딩

리소스 공유와 코드 재사용을 위해 서블릿에서 포워드를 사용!
포워드를 통해 다른 서블릿이나 JSP 페이지로 제어를 넘겨줌
포워드로 서블릿이나 JSP가 받은 요청을 어떻게 처리할지를 체크!
-> 중복된 코드를 제거, 모듈화된 개발을 할 수 있게 된다.

분명 get방식을 사용했는데.. 이것저것 안나오고 숨겨짐! 캡슐화처럼!!
그래서 이걸 자주 사용함~~!


✔️ 바인딩

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

✔️ ServletContext, ServletConfig

🔺 ServletContext

서블릿 컨피그는 각각의 서블릿에서만 접근 한다!
그래서 서블릿에서 사용하는 설정 정보를 서블릿 컨피그에서 설정해서 사용한다!!!


ServletContext에는 공용으로 사용하는 값들을 저장!!
why? 모든 서블릿이 접근할 수 있기 때문에!

ServletContext에서는 web.xml이나 일반 파일에 저장된 데이터를 읽어오고 출력하는 기능을 제공한다 !

🔺 ServletConfig

✔️ load-on-startup기능

profile
공주 개발자

0개의 댓글