BE_Redirect,forward

네코·2022년 3월 21일
0

connectWeb

목록 보기
2/4

선언문 : <%! %>: 전역변수 선언 및 메소드 선언에 사용 // .jsp파일이 .java로 바뀔 때 service메서드 내부가 아닌 클래스 바디쪽에 위치하게 됨.
out, response, request객체는 service()내부에 선언되어 있으므로 선언문으론 접근 불가

스크립트릿 <% %>: 프로그래밍 코드 기술에 사용( 주로 html 태그)
표현식 <%= %>: 화면에 출력할 내용 기술에 사용

Redirect

  • http프로토콜로 정해진 규칙

  • 서버가 클라이언트에게 요청 받은 후 클라이언트에게 특정 URL로 이동하라고 요청하는것

  • 응답으로 상태코드 302 와 이동할 URL정보를 Location 헤더에 담아 전송
    클라이언트가 받은 상태코드가 302이면 location 헤더값으로 재요청 보냄

  • 서블릿 or jsp는 redirect 하기 위해 HttpServletResponse가 갖고 있는 sendRedirect()메서드를 사용

forward

  • forward: 클라이언트에서 servlet1으로 요청이 옴. 이 때 servlet1에서 요청에 대한 작업을 처리하다가 다른 servlet으로 처리를 넘김 => 이러한 것이 포워딩
    이 때 servlet1에서의 결과는 지역변수로 선언되기 때문에 servlet2에서 이용 불가, 따라서 servlet2에서 이용하기 위해서 공용으로 접근 가능한 request객체에 담아야함

  • 리다이렉트는 클라에서 servlet1으로 요청. servlet1에서 다른 url로 이동(=리다이렉트)을 response에 담아 전달, 클라에서 다시 response에 담긴 url로 재요청 후 이동함

따라서 처음 요청과 두번 째 요청은 다른 것으로 두번 째 요청시 새로운 요청임

0개의 댓글