>  기사  >  웹 프론트엔드  >  웹 개발에서 전달과 리디렉션의 차이점

웹 개발에서 전달과 리디렉션의 차이점

little bottle
little bottle앞으로
2019-04-29 11:55:374128검색

웹 개발을 할 때 점프가 가장 많이 사용됩니다. 오늘은 두 가지 유형의 점프를 배워보겠습니다. 관심 있는 친구들이 한 번 살펴보시면 도움이 될 것입니다.

첫 번째는 request.getRequestDispatcher().forward(request,response):

1. 메소드 호출과 동일하며 실행 중에 실행으로 전환됩니다. 현재 파일 실행. 두 파일(현재 파일과 대상 파일)이 동일한 요청에 속하며 앞 페이지와 뒷 페이지가 요청을 공유하는 데 사용할 수 있습니다. request.setAttribute( ) 및 request.getAttribute().

2. 두 번 실행한 후에도 주소 표시줄은 변경되지 않고 여전히 현재 파일의 주소입니다.

3. 이 웹 애플리케이션 외부의 페이지 및 웹사이트로 리디렉션할 수 없으므로 리디렉션 속도가 빨라야 합니다.

4. URL에 포함된 "/"는 애플리케이션(프로젝트)의 경로를 나타냅니다.

두 번째 유형은 response.sendRedirect()입니다.

1. 클라이언트가 서버에 요청을 보내고 클라이언트가 응답하는 것과 같습니다. 응답을 받은 후 서버에 또 다른 요청이 전송되는데, 총 2개의 요청이 앞 페이지와 뒷 페이지에서 요청을 공유하지 않으며 리디렉션 전 request.setAttribute()를 통해 설정된 속성 값을 읽을 수 없습니다.

2. 두 번 실행하면 주소 표시줄이 대상 파일의 주소로 변경됩니다.

3. 이 웹 애플리케이션 외부의 페이지 및 웹사이트로 리디렉션할 수 있으므로 리디렉션 속도가 상대적으로 느립니다.

4. URL에 포함된 "/"는 루트 디렉터리의 경로를 나타냅니다.

특별 적용: 데이터 수정, 삭제, 추가 시 response.sendRedirect()를 사용해야 합니다. request.getRequestDispatcher().forward(request,response) 를 사용하면 작업 전후의 주소 표시줄은 변경되지 않습니다. 이때 현재 페이지를 새로 고치면 다시 전송됩니다. 데이터 수정 요청이 있기 때문에 일부 사람들은 페이지를 새로 고친 후 데이터를 추가합니다.

두 번째 방법으로 데이터를 전송하는 방법:

1. 세션을 선택할 수 있지만 두 번째 파일에서 삭제할 수 있습니다.

2. "add.htm?id=122"

리디렉션할지 전달할지 선택하는 방법은 무엇입니까? 일반적으로 전달이 더 빠르고 요청에 개체를 유지할 수 있으므로 이것이 첫 번째 선택입니다. 그러나 전달 후에도 브라우저의 URL은 여전히 ​​시작 페이지를 가리키므로 현재 페이지를 다시 로드하면 시작 페이지가 다시 호출됩니다. 이런 일이 발생하는 것을 원하지 않으면 전달을 선택하세요.

관련 튜토리얼: 프런트엔드 비디오 튜토리얼

위 내용은 웹 개발에서 전달과 리디렉션의 차이점의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
이 기사는 cnblogs.com에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제