컨트롤러가 2 개 있습니다. 하나는 메인 컨트롤러이고 다른 하나는 중간 컨트롤러입니다. 중간 컨트롤러에서 HTTPRequest에 헤더를 추가해야합니다. 추가 후 주 컨트롤러에 리디렉션해야합니다. 여기에서 내가 추가 한 헤더를 확인해야합니다. 어떻게해야합니까? 사람이 나를 도와 드릴까요? PLS ........하나의 컨트롤러 클래스에서 다른 컨트롤러 클래스로 HTTPRequest를 리디렉션하는 방법은 무엇입니까?
0
A
답변
0
앞으로 파견 요청 전달이 다른 리소스에 JSF 컨트롤러 서블릿에 의해 내부적으로 수행
getServletContext().getRequestDispatcher().forward("second page");
합니다. 브라우저는 웹 컨테이너에서 서버 측에서 발생한 일을 인식하지 못합니다. 따라서 여전히 원래 요청을 보류하고 주소 표시 줄에 원래 URL을 표시한다고 생각합니다. 그러나 표시된 페이지 내용은 두 번째 페이지에서 가져온 것입니다.
리디렉션 파견이 경우
response.sendRedirect("second page");
는 JSF 컨트롤러 서블릿은 다른 URL을 가져 오기 위해 (HTTP 응답 헤더를 통해) 클라이언트 브라우저에 지시합니다. 따라서 브라우저는 완전히 새로운 URL을 가져오고 주소 표시 줄에 두 번째 URL을 표시합니다. 이것은 당신이 리디렉션이 아닌 요청을 전달해야한다고 생각 here
0
에서 성능이 약간 지연에게
의 원인이 될 수 있습니다.
RequestDispatcher dispatcher= request.getRequestDispatcher("servlet-mapped-url");
dispatcher.forward(request, response);
1
Servlet Filter을 사용하는 것이 좋습니다. 들어오는 요청을 사전 처리하려면 서블릿 필터로이를 수행 한 다음 해당 서블릿에 연결하면됩니다.
자세한 내용은 BalusC Answer을 참조하십시오.
이이 단지 같은 요청을 전달할 수있는 경우가 아니라면 : 여기
request.getRequestDispatcher("/yourServlet").forward(request, response); // forward to the main servlet
관련 문제
- 1. 다른 클래스에서 컨트롤러 이름을 얻는 방법은 무엇입니까?
- 2. 리디렉션 루프없이 index.php/컨트롤러/액션을 컨트롤러/액션으로 리디렉션하는 방법은 무엇입니까?
- 3. 컨트롤러 내에서 특정 URL로 리디렉션하는 방법은 무엇입니까?
- 4. 다른보기 컨트롤러 클래스에서 dismissModalViewControllerAnimated
- 5. 하나의 컨트롤러 메소드에서 다른 컨트롤러 메소드로 변수 전달하기
- 6. 컨트롤러 클래스에서 서비스 클래스를 사용하는 방법은 무엇입니까?
- 7. 컨트롤러 동작 파생 컨트롤러 클래스에서 리디렉션
- 8. 안드로이드에서 하나의 클래스에서 다른 클래스로 문자열 전달하기
- 9. Xcode 하나의 클래스에서 다른 클래스로 NSMutableArray 전달하기
- 10. 여러 대의 컨트롤러 대 하나의 컨트롤러
- 11. 다른 컨트롤러의 컨트롤러 동작에서 컨트롤러 이름을 전달하는 방법은 무엇입니까?
- 12. 하나의 컨트롤러 액션에서 다른 컨트롤러 액션으로 변수 전달하기
- 13. ajax 호출에서 하나의 컨트롤러 동작을 다른 컨트롤러 동작으로 리디렉션
- 14. 하나의 컨트롤러 메서드에서 다른 컨트롤러 메서드로 내부 전달 (Spring MVC)
- 15. 다른 컨트롤러
- 16. 다중 경로를위한 하나의 컨트롤러
- 17. 한 컨트롤러 동작에서 다른 컨트롤러 동작으로 데이터 전달 cakephp
- 18. 디버그 모드에서 컨트롤러 클래스로 돌아 오는 방법은 무엇입니까?
- 19. 방향이 다른 UINavigation 컨트롤러
- 20. CodeIgniter는 - 다른 컨트롤러 액션
- 21. MVC에서 다른 컨트롤러 기능을 호출하는 방법은 무엇입니까?
- 22. 컨트롤러 내 컨트롤러 호출
- 23. CakePHP를 다른 액션/컨트롤러로 리디렉션하는 방법은 무엇입니까?
- 24. 비 컨트롤러 클래스에서 TempData에 추가
- 25. 모델 클래스에서 컨트롤러 메서드 호출
- 26. 컨트롤러 동작에서 aspx 페이지로 리디렉션하는 방법
- 27. 하위 클래스에서 부모 클래스로 리디렉션하는 방법 # show view?
- 28. 다른 탐색 컨트롤러 및보기 컨트롤러 질문
- 29. 다른 스레드의 Android 컨트롤러
- 30. 올바른 컨트롤러 동작 방법으로 리디렉션하는 방법
또 다른 예 :. FacesContext.getCurrentInstance()를 .getExternalContext() 리디렉션 ("내 페이지"); – tartak