关于request.getRequestDispatcher()的两个方法
一、getRequestDispatcher()
getRequestDispatcher()包含两个重要方法,分别是请求转发和请求包含。一个请求跨多个Servlet时,需要使用请求转发和请求包含。
首先需要获得一个RequestDispatcher 对象:RequestDispatcher rd = request.getRequestDispatcher("/MyServlet");
请求转发: rd.forward( request , response );
请求包含: rd.include( request , response);
需注意的是,无论是请求转发还是请求包含,都在一个请求范围内!使用同一个request和response!
二、请求转发和请求包含的区别
请求转发:由下一个Servlet完成响应体,当前Servlet可以设置响应头(留头不留体)。举个例子,AServlet请求转发到BServlet,那么AServlet不能够使用response.getWriter() 和response.getOutputStream()向客户端输出响应体,但可以使用response.setContentType(“text/html;charset=utf-8”) 设置响应头。而在BServlet中可以输出响应体。
请求包含:由两个Servlet共同完成响应体(留头又留体)。同样用上面的例子,AServlet请求包含到BServlet,那么AServlet既可以设置响应头,也可以完成响应体。
关于request.getRequestDispatcher()的两个方法相关推荐
- request.getRequestDispatcher()的两个方法forward()/include()!!!
RequestDispatcher rd = request.getRequestDispatcher("/MyServlet"); 请求转发: rd.forward( reque ...
- 让你明白response.sendRedirect()与request.getRequestDispatcher().forward()区别
JSP中response.sendRedirect()与request.getRequestDispatcher().forward(request,response)这两个对象都可以使页面跳转,但是 ...
- JSP中页面跳转response.sendRedirect()和request.getRequestDispatcher()的区别
Java Web开发中,采用MVC模式的时候,在控制器完成模型的调用之后会选择界面对用户响应,用常有2种方式 1,通过response对象的sendRedirect方法重定向: response.se ...
- request.getRequestDispatcher().forward(request,response)和response.sendRedirect()的区别
在进行web开发时,跳转是最常见的,今天在这里来学习下2种跳转: 第一种是request.getRequestDispatcher().forward(request,response): 1.属于转 ...
- JSP中response.sendRedirect()与request.getRequestDispatcher().forward(request,respon 区别
JSP中response.sendRedirect()与request.getRequestDispatcher().forward(request,response)这两个对象都可以使页面跳转,但是 ...
- java web ip_详解Java Web如何限制访问的IP的两种方法
前一阵子因为在做项目时碰到了这个功能,现在好好总结一下,至于为什么要限制IP访问,我就不多说了.然后百度了一下,现在主要有两种方式去限制IP访问,第一种是最简单的方便的,第二种是通过过滤器来限制访问. ...
- request的setAttribute()用法及request.sendRedirect 与 request.getRequestDispatcher.forward 的区别
request.setAttribute()怎么用的? JSP1代码 String [] test=new String[2]; test[0]="1"; test[1]=&quo ...
- 【jsp】页面跳转的两种方法
注:由index.jxp跳转到Failure.jsp request.getSession().setAttribute("msg", "45654"); 方法 ...
- python提交表单无效_使用Django Form解决表单数据无法动态刷新的两种方法
一.无法动态更新数据的实例 1. 如下,数据库中创建了班级表和教师表,两张表的对应关系为"多对多" from django.db import models class Class ...
最新文章
- MySQL性能与磁盘读写的关系及优化策略
- 直播实录QA | 王赟Maigo分享“知识连成一片”是怎样一种体验
- Simulink仿真 第八节 积分模块
- Kerberos策略的配置
- HTML入门小站,Phaser
- 【Linux】使用du、df 和 sort 命令快速找出Linux系统中的大文件
- 【转】WCF、Net remoting、Web service概念及区别
- 【排序算法】快速排序-迭代方法
- 斐波那契数列(java)
- 华为AC6605二层组网,配置无线漫游
- 七上八下猜数字_《脑筋急转弯》
- Python 爬虫从入门到进阶之路(八)
- Python爬虫英语四六级网站查询准考证号
- 9本4月程序员新书,Python书就占了6本
- 什么是大数据? 大数据项目的流程
- STM32F407配置PLLI2SCLK实现特定50MHz时钟驱动83848
- 如何取消RAR压缩包的自动加密?
- 基于MIission planner的VTOL垂直起降固定翼航线设计方法
- 院士大牛们一年N篇7点以上SCI的诀窍
- S7-1200数据类型
热门文章
- [转载] Python中的解析式和生成器表达式
- java treemap_Java TreeMap lastEntry()方法与示例
- c语言for循环++_C ++程序使用循环查找数字的幂
- 检查字符串是否包含数字的Python程序
- java 大小写转换函数_不使用Java中的任何库函数将大写转换为小写
- 热冗余冷冗余_冗余支架
- 二层交换网络_网络中的第2层交换
- Java类class isAnnotation()方法及示例
- Java ObjectOutputStream writeDouble()方法与示例
- IIS负载均衡(转)