RequestDispatcher对象的应用-请求包含
一、介绍
请求包含指的是使用include()方法将Servlet请求转发给其它Web资源进行处理,与请求转发不同的是,在请求包含返回的响应消息中,既包含了当前Servlet的响应消息,也包含了其他Web资源所作出的响应消息。
二、案例
1.IncludingServlet
public class IncludingServlet extends HttpServlet {public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {// response.setContentType("text/html;charset=utf-8");PrintWriter out = response.getWriter();//request.setCharacterEncoding("utf-8");RequestDispatcher rd = request.getRequestDispatcher("/IncludedServlet?p1=中国2");out.println("before including" + "<br>");rd.include(request, response);out.println("after including" + "<br>");}public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {doGet(request, response);}
}
2.IncludedServlet
public class IncludedServlet extends HttpServlet {public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {// 设置响应时使用的字符编码response.setContentType("text/html;charset=utf-8");response.setCharacterEncoding("utf-8");PrintWriter out = response.getWriter();out.println("中国" + "<br>");out.println("URI:" + request.getRequestURI() + "<br>");out.println("QueryString:" + request.getQueryString() + "<br>");out.println("parameter p1:" + request.getParameter("p1") + "<br>");}public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {doGet(request, response);}
}
3.运行
http://localhost:8080/chapter04/IncludingServlet
地址栏未发生变化
4.响应内容产生乱码
原因:
解决:对IncludingServlet中响应内容设置编码
response.setContentType("text/html;charset=utf-8");
5.请求参数产生乱码
IncludingServlet中添加request.setCharacterEncoding("utf-8");
RequestDispatcher对象的应用-请求包含相关推荐
- RequestDispatcher对象的应用-请求转发
一.介绍 在Servlet中,如果当前Web资源不想处理请求时,可以通过forward()方法将当前请求传递给其它的Web资源进行处理,这种方式称为请求转发. 从图中可以看出,当客户端访问Servle ...
- 请求的转发:RequestDispatcher对象处理请求的两个方法--forward和include
当一个 Web资源 收到客户端的请求后,如果希望服务器通知另一个web资源处理请求,那么这时可以通过 RequestDispatcher 接口的实例对象实现. web资源分为静态和动态 静态资源 静态 ...
- 代码实例--请求的转发:RequestDispatcher对象处理请求的两个方法--forward和include
验证requset的forward().include()跳转 indextest.jsp :接受用户输入的用户名和密码 ValidateServlet.java: 验证用户的数据是否正确 正确,则用 ...
- 请求包含(Include)和请求转发(Forward)
定义 请求包含是指将另一个Servlet的请求处理流程包含进来. 请求转发是指将请求转发给别的Servlet处理. 实现 实现请求包含和请求转发,可以使用HttpServletRequest的getR ...
- ServletRequest HttpServletRequest 请求方法 获取请求参数 请求转发 请求包含 请求转发与重定向区别 获取请求头字段...
原文地址:ServletRequest HttpServletRequest 请求方法 获取请求参数 请求转发 请求包含 请求转发与重定向区别 获取请求头字段 ServletRequest 基本概念 ...
- Ajax--概述、xhr对象的常用属性和方法、xhr的常用事件、xhr对象发送POST请求、xhr对象发送GET请求、xhr对象的兼容性问题、数据交换格式(XML、JSON)
一.概述 1.1 发展历程 在开始之前先来看一下Ajax的工作原理吧,如下图所示: Ajax全称Asynchronous javascript and xml(异步 JavaScript 和 XML) ...
- java web小记response.sendRedirect,RequestDispatcher对象的forward方法实现页面跳转
Java Web开发中,采用MVC模式的时候,在控制器完成模型的调用之后会选择界面对用户响应,用常有两种方式: 1.通过response对象的sendRedirect方法. 2.通过Reques ...
- Servlet之请求包含与会话技术获取表单信息(Cookie)
request获取form表单中提交的数据 用ServletContext获取 ServletContext context = this.getServletContext(); String us ...
- XE3随笔6:SuperObject 的 JSON 对象中还可以包含 方法
SuperObject 的 JSON 对象中还可以包含 "方法", 这太有意思了; 其方法的格式是: procedure Method(const This, Params: IS ...
最新文章
- NLP千亿预训练模型的“第四范式”之Prompt Learning介绍分享
- jqm跳转js不加载
- C#异步编程的实现方式(4)——Task任务
- CentOs7下systemd管理知识要点
- 挑战程序设计竞赛_实力爆棚!2019年,华中科技大学拿下亚洲区竞赛金牌4枚!...
- Mysql数据库安全性问题【防注入】
- 麒麟信安:根植于openEuler,走操作系统自主创新之路
- 变量 常量 作用域和命名规范
- Java高质量代码之 — 泛型与反射
- java中trim_java中string.trim()函数的作用实例及源码
- 给DataList分页有两个办法:1、自定义实现分页方法 2、用第三方控件(例如AspNetPager)
- 文档加载状态_我们如何确定技术文档的状态?
- java微信发文字乱码_获取微信用户信息出现乱码
- python源码库安装_Python第三方库安装及常见问题
- python 求解二次规划(quadprog)
- 高中计算机会考基本知识点,高中计算机会考基本知识点
- 分享:STC-51激光雕刻机项目(免费完整资料)
- R学习之统计算法与R优化包(矩估计法也即Newton) --(R语言编程)-----数模
- hive数据库操作大全
- Java面试题交流群
热门文章
- 将x86平台的Linux控制台重定向到串口
- python列索引行的数据公式_用列和行索引函数填充dataframe缺失元素的最有效方法...
- 阻止电脑自动安装软件_坡解版wetool 安装条件-购买-老友网
- 95-30-015-Channel-AbstractNioMessageChannel
- 60-400-040-使用-binlog-MySQL BinLog入门
- 95-30-070-java.util-LinkedList
- 【es】FATAL [circuit_breaking_exception] [parent] Data too large, data for [<http_request>] would be
- 95-190-438-源码-window-Trigger-总体概述
- Docker 安装 Tomcat
- Redis的几种拓展方案,你都清楚吗?