-- Index --
1. redirect() | 2. 실습문제 |
resp.sendRedirect("다음타자경로").forward(req,resp); | servlet , jsp , servlet+jsp |
1. redirect()
- resp.sendRedirect()
- 클라이언트에게 새로운 요청하게 만든다.
1-1 forwading으로 처리할 때와 redirect로 처리할 때의 차이점
- # forwarding – 내부적으로 요청을 돌리는 것으로 url 변화 X – req.forward()

- # redirect – resp.sendRedirect()

1-2 새로운 요청해서 요청 처리하게 해 주기.
- 그 요청 나는 처리 못해 그거 철수한테 부탁해야 돼 하면
- 그걸 보고 새로운 요청을 보낼 수는 있겠다.
- 이런 경우에는 처음 보내는 요청과 다르게 url이 바뀌게 된다.
- ( 새로운 요청을 보낸 것이므로.)

1-3 resp.sendRedirect( ) - 클라이언트에게 새로운 요청하게 만든다.

# 경로 바뀜 체크 #

1-4 redirect 쓰는 이유
- – 요청 온 거 끊어주려고
- 로그인 성공이나 회원가입 성공 같이 처음 요청한 작업이 끝나서 응답 화면까지 보여주었는데
- forward 작업으로 처리해서 처음 요청한 url이 바뀌지 않은 상태에서 새로고침 F5해버리면 -
- 처음 요청한 로그인 요청이나 회원가입 요청이 다시 진행된다.
- 이런 것을 방지하기 위해
- 응답 화면으로 보낼 때 url을 변경해주어서 새로고침 하더라도
- 기존의 요청을 다시 요청하는 처리되지 않도록 해주기 위해서 사용한다.
실습 문제) 3가지 경우로 실습해보기.
- 서블릿 만을 이용해서 화면-java 처리하기
- jsp만을 이용해서 화면-java 처리하기
- 서블릿은 java 쪽 // jsp는 화면 쪽 나눠서 처리하기

# 포워딩 흐름 체크 #
# index.jsp 에서 하는 작업
input 태그 안에 어떤 값을 넣어서 요청을 보내는 것
요청 보내는 이름은? form action = “ calcLotto ”
# calcLotto 요청 처리하는 - 서블릿
doPost / doGet 요청에 대해서 처리하는 부분
받은 요청에서 사용자가 입력한 값 꺼내와서 복잡한 연산처리
연산 결과 보여주기 위해서 나보다 화면쪽 잘하는 애한테 넘겨주기
req.setAttribute(“key”,“value”) 해서 연산 결과 담아서 –
getRequestDispatcher( “ 경로 ” )로 다음 타자의 경로 알려주고
forward(req, resp)로 넘겨주기
# 넘겨받은 연산 결과로 화면 쪽 작업해주기 - jsp
받은 데이터(연산결과) 저장되어있는
request 객체에서 값 꺼내서 필요한 작업하기
<% getAttribute(“key”) %>
getAtrribute는 리턴 타입이 object 라서
(String)이나 (int) 이런 걸로 형 변환 필요
'Java 기반 클라우드 융합 개발자 과정 - KH 정보교육원 > 7월' 카테고리의 다른 글
22.07.26 - [ WAS ] MVC2 패턴 , JDBCTemplate부분, Propertise (0) | 2022.08.03 |
---|---|
22.07.25 - [ WAS ] session, jsp내장객체 (0) | 2022.08.01 |
22.07.21 - [ WAS ] doPost(), doGet(), forward(), setAttribute() (0) | 2022.07.29 |
22.07.20 - [ 8차 시험! - 요구사항 확인 ] (0) | 2022.07.28 |
22.07.19 - [ WAS ] JSP, 스크립틀릿, 스크립틀릿 활용 (0) | 2022.07.28 |