我有两个控制器。一个是主控制器,另一个是中间控制器。在中间控制器中,我应该向HTTPRequest添加标题。添加后,我应该重定向到主控制器,我应该检查我添加的标题。我怎样才能做到这一点?谁能帮我这个?请........如何将HTTPRequest从一个控制器类重定向到其他控制器类?
0
A
回答
0
正向调度
getServletContext().getRequestDispatcher().forward("second page");
将请求转发由JSF控制器Servlet内部完成到另一个资源。浏览器不知道web容器在服务器端发生了什么。所以它仍然认为它正在趋向原始请求并在其地址栏中显示原始URL。但是,显示的页面内容来自第二页。
重定向调度
response.sendRedirect("second page");
在这种情况下,JSF控制器Servlet指示客户端浏览器(通过HTTP响应报头)来抓取另一个URL。所以浏览器完全获取一个新的URL并在地址栏中显示第二个URL。这可能会导致轻微的性能延迟
从here
0
我认为你需要转发请求,而不是重定向。
RequestDispatcher dispatcher= request.getRequestDispatcher("servlet-mapped-url");
dispatcher.forward(request, response);
1
似乎是一个很好的地方使用Servlet Filter。如果你想预先处理一个传入的请求,你可以用servlet过滤器来完成,然后简单地将它链接到适当的servlet。
详情请参阅BalusC Answer。
如果不是这种情况下,你可以只喜欢转发请求:
request.getRequestDispatcher("/yourServlet").forward(request, response); // forward to the main servlet
相关问题
- 1. 将控制权从一个控制器重定向到另一个控制器
- 2. 控制器动作从派生控制器类重定向
- 3. 无法从一个控制器重定向到另一个控制器 - Spring MVC
- 4. 在Spring MVC中从一个控制器重定向到另一个控制器
- 5. 重定向到另一个控制器
- 6. Angularjs将复选框值从一个控制器传递到其他控制器
- 7. 将属性从一个控制器传递到iOS上的其他控制器
- 8. Cakephp内部重定向从控制器到另一个控制器
- 9. 使用任何其他控制器类而不是默认控制器类
- 10. AngularJS - 如何从其他控制器运行控制器?
- 11. 如何将一个变量从一个控制器传递到合金中的其他控制器
- 12. 将控制器加载到cakephp中的其他控制器中
- 13. 从IOS其他控制器
- 14. CakePHP组件或其他控制器类?
- 15. 重定向从APIController行动,其他MVC控制器动作
- 16. Apple如何让其控制器包含其他控制器?
- 17. cakephp如何拥有其他控制器扩展的控制器类
- 18. 重定向到codeigniter中的变量的其他控制器
- 19. 如何从一个控制器重定向到另一个控制器在春天
- 20. 从一个控制器向另一个控制器传递值
- 21. 如何将阵列从一个控制器共享到另一个控制器
- 22. 如何将对象从一个控制器传递到另一个控制器
- 23. 将JSON数据从一个控制器传递到其他angularjs
- 24. ZF控制器重定向到索引控制器
- 25. 如何将所有内容重定向到单个控制器?
- 26. 春季测试MVC:测试控制器重定向到另一个控制器
- 27. 如何从JavaFX中的其他控制器类访问表单?
- 28. 如何从控制器A的一个动作重定向到控制器B的动作并返回到Rails?
- 29. ASP.NET MVC 3:从一个控制器重定向到另一个控制器和URL重写
- 30. 如何将数据从一个控制器传递到AngularJs中的其他控制器
这里的另一个例子:FacesContext.getCurrentInstance() .getExternalContext()重定向( “我的空间”); – tartak 2012-02-07 09:43:28