最近在读struts的原程序,摘录一些代码。以下是将一个请求forward到其他资源的代码
RequestDispatcher rd = getServletContext().getRequestDispatcher(uri);
rd.forward(request, response);
RequestDispatcher是分派处理request的资源。
在网上查了下资料,getServletContext().getRequestDispacher(uri)和request.getRequestDispatcher(uri)有所区别,如下:
引用
1、ServletRequest.getRequestDispatcher(String path)
path可是绝对路径也可以是相对路径
2、ServletContext.getRequestDispatcher(String path)
path必须以"/"开头,代表context root
3、另一个方法 ServletContext.getNameDispatcher(String name)
参数并不是路径,而是其名称,如果有多个Servlet名称一样的,在web.xml进行配置区别
4、以上方法回传一个RequestDispatcher对象,接着forward()或include()
5、forward()和include()区别在于include()方法将HTTP请求转送给其他Servlet或jsp后,这个Servlet或 jsp虽然可以处理请求,但是主导权还是原来的Servlet或jsp,就是被调用的Servlet或jsp如果产生任何HTTP回应,将会并入原来的 HttpResponse对象
分享到:
相关推荐
forward方法 ```java public void forward(ServletRequest request, ServletResponse response) throws ServletException, IOException; ``` **作用:** 将当前请求转发到另一个资源(如Servlet、CGI脚本、HTML...
### forward方法实现请求转发 #### 一、概述 在Web应用开发中,`RequestDispatcher`对象的`forward`方法被广泛用于实现请求转发。通过该方法可以将当前请求转发到另一个资源(如Servlet或JSP页面)进行处理,并且...
"javax.servlet.forward.request_uri"是Java Servlet API中的一个属性,它在请求转发过程中用来保存原始请求的URI(统一资源标识符)。 这篇博客文章可能探讨了在Tomcat和WebSphere AS 7中使用`javax.servlet....
Servlet之forward、sendRedirect、 include区别与使用实例 ,具体效果和过程看博文http://blog.csdn.net/evankaka/article/details/45169569
本实例将深入探讨`jsp:forward`方法的使用及其背后的原理,帮助你更好地理解和应用这一功能。 `jsp:forward`标签通常用在JSP页面中,它的主要作用是将当前请求转发到另一个资源,如另一个JSP页面、Servlet或者静态...
- 初始化:当Servlet首次被请求或者在web.xml中配置了`load-on-startup`时,Servlet容器会调用Servlet的`init()`方法进行初始化。 - 服务:每当有新的请求到来,Servlet容器创建一个Servlet实例,然后调用`service...
4. **销毁**:当Servlet容器决定卸载Servlet时,会调用destroy()方法来释放Servlet所占用的资源。 #### 三、Servlet生命周期 Servlet的生命周期主要包括三个阶段:初始化、服务和销毁。 - **初始化**:通过调用...
1. 转发的范围:RequestDispatcher.forward 方法只能将请求转发给同一个 WEB 应用中的组件,而 HttpServletResponse.sendRedirect 方法可以重定向到当前应用程序中的其他资源,也可以重定向到同一个站点上的其他应用...
19.Servlet中forward和redirect的区别.avi
- **javax.servlet.RequestDispatcher**:负责请求转发和重定向,常用的方法有forward()和include()。 - **javax.servlet.ServletConfig**:在Servlet初始化时,由容器传递给Servlet,包含了Servlet的配置信息。 - *...
Servlet 跳转可以分为两大类:Redirect 跳转和 Forward 跳转。 Redirect 跳转 Redirect 跳转是指将控制权转移到另一个资源,并将 URL 修改为新的资源的 URL。Redirect 跳转可以使用 response.sendRedirect() 方法...
它提供了通用的生命周期方法,如`init()`, `service()`, `destroy()`,并可以被任何Servlet继承。 3. **HttpServlet类**:GenericServlet的子类,进一步封装了HTTP协议特定的逻辑。HttpServlet提供了处理GET、POST...
Servlet API提供了Servlet生命周期管理、请求处理、会话跟踪、以及与应用程序上下文交互等方法。 在Servlet API中,`javax.servlet`和`javax.servlet.http`是两个关键的包。`javax.servlet`包包含Servlet的基本接口...
5. **转发与重定向**:通过`RequestDispatcher`的`forward()`和`sendRedirect()`方法实现请求的转发和重定向。 6. **异步处理**:Servlet 3.0引入了异步处理能力,允许在`service()`方法中启动异步操作,提高性能。 ...
5. **Servlet的转发和重定向**:Servlet可以通过RequestDispatcher的forward()方法将请求转发到其他资源,或者通过HttpServletResponse的sendRedirect()方法重定向浏览器。两者的区别在于前者是在服务器端完成的,后...
然后,每次有新的请求到来,Servlet都会调用`service()`方法来处理。当服务器关闭或不再需要Servlet时,会执行销毁方法。 2. **Servlet配置** 在`web.xml`部署描述符文件中,我们可以通过`<servlet>`和`<servlet-...
- `RequestDispatcher`的`forward()`方法实现请求内部转发,保持当前请求的上下文。 - `response.sendRedirect()`方法进行重定向,客户端发起新的请求到指定URL。 7. **过滤器(Filter)**: - 过滤器在Servlet...
SERVLET 可以使用 response.sendRedirect(path) 或 request.getRequestDispatcher(path).forward(req,res) 方法来实现页面转发。 Servlet 的生命周期是 SERVLET 的核心概念,理解 SERVLET 的生命周期是非常重要的。...
forward()方法(RequestDispatcher接口)在服务器端完成,请求从一个Servlet传递到另一个Servlet或JSP页面。而redirect()方法(HttpServletResponse)则告诉浏览器发起一个新的请求。 7. **过滤器(Filter)** ...