HTTP 请求转发、重定向
2006-07-27 21:18
176 查看
使Web应用程序如此强大的原因之一是它们彼此链接和聚合信息资源。J2EE 平台为特定URL的 Web组件提供三种相互关联、 但是有区别的方式,,以便使用其他URL的数据来创建响应。本文讨论了如何使用Java Servlet API来实现请求转发、URL重定向。
[b]请求转发 [/b]
请求转发允许组件发送请求到某个应用程序中的URL,并通过同一应用程序中的不同URL中的组件来处理该请求。这种技术通常用于Web层控制器servlet, 它检查Web请求中的数据,并将请求定向到合适的组件,以便进行处理。Servlet可以使用javax.servlet.RequestDispatcher.forward方法来转发它所收到的HTTP 请求。接收转发请求的组件能够处理该请求并生成一个响应, 或者它还可以将请求转发到另一个组件。 最初请求的ServletRequest 和 ServletResponse 对象被传递给转发目标组件。这允许目标组件访问整个请求上下文。请求可以只转发给同一应用程序上下文根中的组件,而不在应用程序之间转发。
URL重定向
URL 重定向类似于请求转发, 但也有一些重要的区别。Web组件可以将请求重定向到任一URL, 而不仅仅是同一应用上下文中的URL。但最初请求的内容(比如POST参数)丢失了。这是因为服务器与重定向请示的过程无关,这与请求转发的情况是一样的 。URL通过使用HTTP META头部的Refresh功能来完成重定向工作。本质上就是, 服务器返回一个META标记,告诉浏览器直接去其他地方。这时,最初URL所附带POST数据就会丢失。URL 重定向可以直接通过操作HTTP 头部来完成, 但首选的方式还是使用方法javax.servlet.ServletResponse.sendRedirect。这个方法的唯一参数就是重定向的目标URL 。
相关文章推荐
- HTTP中的重定向和请求转发的区别
- JSP学习笔记(二)------请求重定向与请求转发的区别及HTTP Status Code(HTTP状态码)整理说明
- HTTP通信中的请求转发和请求重定向
- HTTP中的重定向和请求的转发
- HTTP中的重定向和请求转发的区别
- http重定向与请求转发
- HTTP中的重定向和请求转发的区别
- HTTP中的重定向和请求转发的区别
- HTTP中的重定向和请求转发的区别
- 请求重定向与请求转发的比较(HttpServletResponse.sendRedirect方法和RequestDispatcher.forward方法)
- HTTP中的重定向和请求转发的区别
- 南哥带你学 Java 之 JavaEE 设置全局配置、请求转发、请求重定向、HttpServletResponse 和 HttpServletRequest
- HTTP 重定向与请求转发
- HTTP中的重定向和请求转发的区别
- HTTP中的重定向和请求转发的区别
- HTTP通信中的请求转发和请求重定向
- 请求重定向与请求转发的比较(HttpServletResponse.sendRedirect方法和RequestDispatcher.forward方法)
- HTTP中的重定向和请求转发的区别
- HTTP中的重定向和请求转发的区别
- HTTP中的重定向和请求转发的区别