【Javaweb】Servlet八 | 请求转发的代码实现【详解】
请求的转发
什么是请求的转发?
请求转发是指,服务器收到请求时,从一次资源转到另一个资源的操作叫做请求转发。

部分代码
// 获取请求的参数(办事的材料)查看
String username=req.getParameter("username");
System.out.println("在Servlet1(柜台1)中查看参数(材料)"+username);
// 给材料 盖一个章,并传递到servlet2(柜台2)去查看
req.setAttribute("key1","柜台1的章");
// 问路,servlet2(柜台2)怎么走
/*
* 请求转发必须以斜杠打头, / 斜杠表示地址为:http://ip:port/工程名/ ,映射到idea代码的web目录
**/
RequestDispatcher requestDispatcher=req.getRequestDispatcher("/Servlet2"); // 走向servlet2(柜台2)
requestDispatcher.forward(req,resp);
// 获取请求的参数(办事的材料)查看
String username=req.getParameter("username");
System.out.println("在Servlet2(柜台2)中查看参数(材料)"+username); // 查看 柜台1 是否有盖章
Object key1=req.getAttribute("key1");
System.out.println("柜台1是否有章"+key1);
// 处理自己的业务
System.out.println("Servlet2 处理自己的业务");
实现功能

也可以直接用网址传值


请求转发的特点
1、浏览器地址栏没有变化
2、请求转发虽然访问了两个资源,但这是一次请求
3、他们共享Request域中的数据
requestDispatcher.forward(req,resp);//这句代码接收
4、可以转发到WEB-INF目录下(转发可以实现,但浏览器不可以实现)
/*
* 请求转发必须以斜杠打头, / 斜杠表示地址为:http://ip:port/工程名/ ,映射到idea代码的web目录
**/
RequestDispatcher requestDispatcher=req.getRequestDispatcher("/WEB-INF/form.html");
5、是否可以访问工程以外的资源————
【相当于直接在 http://ip:port/ 后面加地址,所以访问不到 】
【Javaweb】Servlet八 | 请求转发的代码实现【详解】的更多相关文章
- javaWeb中request请求转发和response重定向
1.访问资源 运用forward方法只能重定向到同一个Web应用程序中的一个资源. 而sendRedirect方法可以让你重定向到任何URL. 2.request.get Forward代码中的&q ...
- JAVA记录-Servlet RequestDispatcher请求转发
RequestDispatcher接口提供将请求转发送到另一个资源的功能,它可能是html,servlet或jsp等. 此接口也可用于包括另一资源的内容.它是servlet协作的一种方式. 在Requ ...
- 转:JAVAWEB开发之权限管理(二)——shiro入门详解以及使用方法、shiro认证与shiro授权
原文地址:JAVAWEB开发之权限管理(二)——shiro入门详解以及使用方法.shiro认证与shiro授权 以下是部分内容,具体见原文. shiro介绍 什么是shiro shiro是Apache ...
- PHP扩展代码结构详解
PHP扩展代码结构详解: 这个是继:使用ext_skel和phpize构建php5扩展 内容 (拆分出来) Zend_API:深入_PHP_内核:http://cn2.php.net/manual/ ...
- 【iOS 使用github上传代码】详解
[iOS 使用github上传代码]详解 一.github创建新工程 二.直接添加文件 三.通过https 和 SSH 操作两种方式上传工程 3.1https 和 SSH 的区别: 3.1.1.前者可 ...
- Scala 深入浅出实战经典 第64讲:Scala中隐式对象代码实战详解
王家林亲授<DT大数据梦工厂>大数据实战视频 Scala 深入浅出实战经典(1-87讲)完整视频.PPT.代码下载:百度云盘:http://pan.baidu.com/s/1c0noOt6 ...
- Scala 深入浅出实战经典 第63讲:Scala中隐式类代码实战详解
王家林亲授<DT大数据梦工厂>大数据实战视频 Scala 深入浅出实战经典(1-87讲)完整视频.PPT.代码下载:百度云盘:http://pan.baidu.com/s/1c0noOt6 ...
- fiddler请求报文的headers属性详解
fiddler请求报文的headers属性详解 headers的属性包含以下几部分. (1)Cache头域 在Cache头域中,通常会出现以下属性. 1. Cache-Control 用来指定Resp ...
- Netty学习——服务器端代码和客户端代码 原理详解
服务器端代码和客户端代码 原理详解:(用到的API) 0.Socket 连接服务器端的套接字 1.TcompactProtocol 协议层2.TFrameTransport 传输层3.THsh ...
- led指示灯电路图大全(八款led指示灯电路设计原理图详解)
led指示灯电路图大全(八款led指示灯电路设计原理图详解) led指示灯电路图(一) 图1所示电路中只有两个元件,R选用1/6--1/8W碳膜电阻或金属膜电阻,阻值在1--300K之间. Ne为氖泡 ...
随机推荐
- 使用TypeScript类型注解,编写更干净的JS代码
TypeScript 可以看作是 JavaScript 的超集,不仅包含了 JavaScript 的所有内容,还拓展了语法.规定了类型约束,使得我们可以编写更干净.完整的代码. 类型注解 TypeSc ...
- 发布关于PostGIS对于USD格式的拓展
我们非常高兴的发布为了一年一度的SIGGRAPH 2023发布关于为PostGIS支持USD格式的新拓展. 新添加了3个函数 ST_AsUSDA(geom geometry, usd_root_nam ...
- [etcd]基本数据库操作
前言 etcd数据库操作基本围绕着对键值和目录的CRUD操作,以及生命周期的管理. 之前在单节点部署了三实例集群,而etcdctl默认找的是127.0.0.1:2379,所以这里先声明一个临时全局变量 ...
- N1nEmAn-2023集训wp
week1 2022-12-28 WP 0x00 T1 reverse3 前几天没注意到要发wp,现在补一下.最近在学汇编,pwn题没做新的了.想到之前了解到hws的pwn会考花指令,听hjx他们说那 ...
- DHorse v1.3.2 发布,基于 k8s 的发布平台
版本说明 新增特性 构建版本.部署应用时的线程池可配置化: 优化特性 构建版本跳过单元测试: 解决问题 解决Vue应用详情页面报错的问题: 解决Linux环境下脚本运行失败的问题: 解决下载Maven ...
- 用一个示例来学习DockerFile
在Docker的世界里,我们经常会听到Dockerfile这个词.那么,什么是Dockerfile?它如何工作?本文将简要介绍Dockerfile的基本概念,原理以及一些常用的Dockerfile命令 ...
- 在线问诊 Python、FastAPI、Neo4j — 创建药品节点
目录 前提条件 创建节点 Demo 准备数据 创建药品标签节点 在线问诊 Python.FastAPI.Neo4j - 创建节点 Neo4j 节点的标签可以理解为 Java 中的实体. 根据常规流程: ...
- 特斯拉Dojo超算:AI训练平台的自动驾驶与通用人工智能之关键
特斯拉公开Dojo超算架构细节,AI训练算力平台成为其自动驾驶与通用人工智能布局的关键一环 在近日举行的Hot Chips 34会议上,特斯拉披露了其自主研发的AI超算Dojo的详细信息.Dojo是一 ...
- Mysql进击篇-存储引擎、索引、sql优化、视图、锁、innoDb、管理
1.存储引擎 (1)连接层 最上层是一些客户端和连接服务,主要完成一些类似于连接处理,授权认证.以及相关的安全方案,服务器也会为安全接入的每个客户端验证它所具有的操作权限 (2)服务层 第二层架构主要 ...
- 【matplotlib 实战】--柱状图
柱状图,是一种使用矩形条,对不同类别进行数值比较的统计图表.在柱状图上,分类变量的每个实体都被表示为一个矩形(通俗讲即为"柱子"),而数值则决定了柱子的高度. 1. 主要元素 柱状 ...