- 浏览: 232923 次
文章分类
- 全部博客 (160)
- java语言基础 (67)
- jsp基础 (2)
- eclipse使用 (2)
- java源码解读 (6)
- 计算机基础 (3)
- eclipse插件 (0)
- 网络基础 (8)
- 算法 (2)
- linux (0)
- 英语 (0)
- C语言 (4)
- JavaScript (17)
- 数学 (0)
- struts2 (2)
- 自然哲学 (0)
- Servlet (1)
- HttpServer (2)
- ext (1)
- 个人 (1)
- dojo (27)
- spring (2)
- hibernate (4)
- css (3)
- 多线程 (0)
- chrome插件开发 (0)
- svn (0)
- thrift (2)
- phonegap (1)
- java线程 (1)
- 不是很熟悉的css属性 (0)
- 数据库性能调优 (0)
- 项目管理 (1)
- ios (0)
- 软件工程 (0)
- db2 (0)
- 词汇管理 (0)
- zhenyan (0)
- 计划 (0)
- android (0)
- ssss (0)
- 是的 (0)
- dsada (0)
- 泛点是 (0)
- fds (0)
- cxzc (0)
- 权限 (0)
- dfsfds (0)
- http://www.cnblogs.com/kingboy2008/p/5261771.html (0)
- sss (0)
- ddd (0)
- fdsfdsf (0)
- sso (0)
- nginx (0)
- 分布式数据一致性 (0)
- mysql (0)
- ios永久存储 (0)
- js匿名函数 (0)
- 打印机qqq (0)
最新评论
请求转发是Web组件之间协作的一种方式,多个Web组件共享一个ServletResponse和ServletRequest对象。
1. 请求转发的实现
Servlet的请求转发是通过RequestDispatcher类来实现的,我们可以通过以下方式获取RequestDispatcher对象。
ServletContext context = this.getServletContext(); RequestDispatcher dispatcher = context.getRequestDispatcher("/test"); // 绝对路径 dispatcher.forward(request, response); request.getRequestDispatcher("test"); // 相对路径 dispatcher.forward(request, response);
2. forward方法处理流程
当调用forward方法后,会先清空用于存放响应正文的数据缓冲区,也就是说你在源组件中,可能已经写了一些数据到缓冲区了(如下代码),这时你写的数据都会被清理掉。
PrintWriter out = response.getWriter(); out.println("hello"); ServletContext context = this.getServletContext(); RequestDispatcher dispatcher = context.getRequestDispatcher("/test"); // 绝对路径 dispatcher.forward(request, response);
这时你写的输出语句并不会输出到用户端,在调用forward方法时,直接被清理掉了。
3. 注意点
如果你尝试在forward方法前向客户提交响应结果,这样是会报IllegalStateException的。
response.flushBuffer(); //会报异常 out.close(); //会报异常
发表评论
-
mysql并发
2013-01-08 13:38 0/** * 测试msql JDBC连接并发安全性 ... -
java注解2
2013-01-06 22:02 1010由前一篇的代码,运行代码如下:public clas ... -
java注解1
2013-01-06 21:56 945本文演示java注解的使用 1. getDe ... -
Java集合框架分析
2012-08-29 21:28 01. Java集合整体框架 下面的两张图说明 ... -
AbstractList
2012-08-29 20:48 977public abstract class Abstra ... -
Set
2012-08-28 11:17 677public interface Set<E> e ... -
List源码
2012-08-28 11:15 1003public interface List<E&g ... -
Collection源码
2012-08-28 11:13 940public interface Collection< ... -
java集合框架
2012-08-28 10:39 0java的集合框架中,主要有3类常用的集合。 -
web的debug
2012-03-29 10:48 0hh -
文件读取
2012-03-10 19:32 0public class Util { publ ... -
HTML元素的访问
2011-11-30 09:31 0有3忠方法可以访问html中的元素。 -
Schema数据类型
2011-11-26 16:34 0Schema不仅内置了丰富的数据类型,而且还允许开发者 ... -
初学XML3
2011-11-26 10:08 0编写了XML Schema语义约束之后,必须将其导入目 ... -
初学XML2
2011-11-26 09:22 817<?xml version="1.0& ... -
初学XML
2011-11-26 08:50 885<?xml version="1.0&q ... -
JavaScript字符串
2011-11-19 21:29 916JavaScript有三种基本数据类型,字符串,数字以 ... -
项目管理
2011-11-05 22:39 0项目管理开始于项目计划阶段,贯穿于整个系统开发生命周期 ... -
项目可行性分析
2011-11-05 21:23 0项目可行性包括三个方面:技术可行性,经济可行性,组织 ... -
系统开发生命周期
2011-11-05 21:16 0系统开发生命周期有四个4个基本阶段: 计划- ...
相关推荐
Servlet请求转发、重定向和包含是Servlet中处理客户端请求的重要技术,它们都涉及到如何有效地管理用户请求和页面跳转,但各自有不同的特性和应用场景。 1. **请求转发(Request Forward)** - 请求转发是在服务器...
本文将详细讲解如何在Servlet中实现请求转发以及用户登录验证。 首先,我们来理解请求转发(Request Forward)。在Servlet中,请求转发是一种在服务器内部将一个请求从一个资源传递到另一个资源的技术。这种方式是...
Java Servlet 请求转发和重定向 Java Servlet 请求转发和重定向是两种不同的页面跳转机制,它们在 Web 应用程序中扮演着重要的角色。理解这两种机制的区别和使用场景是非常重要的。 请求转发是指将请求再转发到另...
### Java Servlet 请求转发与重定向详解 #### 一、引言 在Java Web开发中,请求转发和重定向是两种非常重要的技术手段,用于控制页面之间的跳转逻辑。这两种技术虽然都能实现页面间的跳转,但其工作原理、应用场景...
3. 请求转发与重定向的机制:RequestDispatcher.forward 方法在服务器端内部将请求转发给另外一个资源,而 HttpServletResponse.sendRedirect 方法对浏览器的请求直接作出响应,响应的结果就是告诉浏览器去重新发出...
在Java Web开发中,Servlet、请求转发和过滤器是核心概念,它们构成了Web应用程序的基础架构。下面将分别详细解释这三个知识点,并结合 `${}` 符号的使用进行深入探讨。 1. Servlet: Servlet 是 Java 提供的一种...
Java中Request请求转发是指在Servlet中使用RequestDispatcher将请求转发到另一个Servlet或JSP页面,以实现请求的重定向或包含。在本文中,我们将通过示例代码详细介绍Java中Request请求转发的实现过程。 ...
主要分为直接请求转发(Forward)和间接请求转发(Redirect)。这两种转发方式在处理请求时有着显著的区别。 直接请求转发(Forward): 直接请求转发是服务器内部的资源调度,用户在浏览器中只会看到最初的请求...
Java Servlet 中可以通过 `RequestDispatcher` 的 `forward` 方法来实现请求转发。例如: ```java RequestDispatcher dispatcher = request.getRequestDispatcher("index.jsp"); dispatcher.forward(request, ...
当客户端发送一个请求到服务器后,服务器通过Servlet或者Filter来处理这个请求,然后决定将请求转发到另一个资源,比如另一个Servlet或JSP页面。在这个过程中,客户端并不知道请求被转发了,因为它只与服务器进行了...
### JSP和Servlet请求与响应详解 #### 一、JSP内置对象概述 JSP(Java Server Pages)是一种用于创建动态网页的技术。它基于Java Servlet规范,并提供了许多内置对象,以便开发者可以更方便地处理HTTP请求和响应。...
当客户端(通常是浏览器)向Web服务器(如Apache)发送HTTP请求时,Web服务器会将请求转发给Web容器。容器解析请求,创建HttpServletRequest和HttpServletResponse对象,这两个对象分别用于存储请求信息和准备响应。...
在Java Servlet中,我们可以使用`RequestDispatcher`的`forward()`方法实现请求转发。例如: ```java RequestDispatcher dispatcher = request.getRequestDispatcher("/anotherServlet"); dispatcher.forward...
3. 使用`request.getRequestDispatcher().forward()`将请求转发给JSP页面。 4. 在JSP页面中,通过`request.getAttribute()`获取并显示参数值。 理解这些基本概念对于开发Java Web应用至关重要,这有助于构建动态、...
5. **请求转发与重定向**:Servlet可以使用`RequestDispatcher`的`forward()`方法将请求转发到其他资源,而`sendRedirect()`方法则会向客户端发送一个HTTP重定向响应。 6. **会话管理**:Servlet可以通过`...
当服务器接收到一个请求后,它可以选择不直接处理这个请求,而是通过`RequestDispatcher`对象将请求转发到另一个资源,比如Servlet或JSP页面。在这个过程中,客户端浏览器并不知道这个变化,它仍然认为自己请求的是...
- **请求转发**:服务器内部将请求转发到另一个资源处理。 ##### 2.1 请求方式 - **GET**:安全且幂等,适用于查询操作。 - **POST**:不安全,不幂等,适用于修改数据的操作。 ##### 2.2 重定向与请求转发 - **...
Servlet请求转发和重定向 Servlet中的请求转发和重定向都是将请求从一个资源转发到另一个资源,但是它们的实现机制不同。请求转发是将请求从一个Servlet转发到另一个Servlet,而重定向是将请求从一个Servlet重定向...
2. **请求转发**:使用`request.getRequestDispatcher("/bbs.jsp").forward(request, response)`可以将请求转发至JSP页面,同时保持请求参数不变。 3. **避免误调用**:确保不要在`doGet`方法中误调用`doPost`方法,...