Java中Request请求转发详解
作者:持续更新,2天一篇 时间:2021-05-25 20:53:42
直接来,RequestDemo5代码,get请求和post请求都请求转发了,转发到RequestDemo6请求
RequestDemo5代码
package com.lingaolu.request;
import javax.servlet.RequestDispatcher;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.*;
import java.io.IOException;
/**
* @author 林高禄
* @create 2020-07-07-12:06
*/
@WebServlet("/requestDemo5")
public class RequestDemo5 extends HttpServlet {
@Override
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
System.out.println("requestDemo5进来了......post");
RequestDispatcher requestDispatcher = request.getRequestDispatcher("/requestDemo6");
requestDispatcher.forward(request,response);
}
@Override
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
System.out.println("requestDemo5进来了......get");
RequestDispatcher requestDispatcher = request.getRequestDispatcher("/requestDemo6");
requestDispatcher.forward(request,response);
}
}
RequestDemo6代码
package com.lingaolu.request;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.*;
import java.io.IOException;
/**
* @author 林高禄
* @create 2020-07-07-12:06
*/
@WebServlet("/requestDemo6")
public class RequestDemo6 extends HttpServlet {
@Override
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
System.out.println("requestDemo6进来了......post");
}
@Override
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
System.out.println("requestDemo6进来了......get");
}
}
浏览器访问/requestDemo5接口
控制台输出
从以上结果可以看出
请求过后我们的浏览器地址还是http://localhost:8080/myRequest/requestDemo5
从浏览器的F12调试页面可以看出,转发只是一次请求,只有/requestDemo5请求,说明,可共享数据Request共享数据
我们用Postman进行post请求一下
后台输出:
可见,get请求的转发会转发到get请求,post请求的转发,会转发到post请求
我们改一下RequestDemo5的代码,转发到百度
package com.lingaolu.request;
import javax.servlet.RequestDispatcher;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.*;
import java.io.IOException;
/**
* @author 林高禄
* @create 2020-07-07-12:06
*/
@WebServlet("/requestDemo5")
public class RequestDemo5 extends HttpServlet {
@Override
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
System.out.println("requestDemo5进来了......post");
RequestDispatcher requestDispatcher = request.getRequestDispatcher("/requestDemo6");
requestDispatcher.forward(request,response);
}
@Override
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
System.out.println("requestDemo5进来了......get");
RequestDispatcher requestDispatcher = request.getRequestDispatcher("https://www.baidu.com/");
requestDispatcher.forward(request,response);
}
}
浏览器请求
后台输出:
从后台输出看出,requestDemo5请求进来了,从浏览器看出,转发失败了,而且从实际转发的路径上看,因为虚拟路径,所以请求转发只能转发到当前服务器内部的资源
请求转发的特点总结:(与之对应的------重定向的详情与特点)
浏览器地址栏路径不发生变化
转发只是一次请求,可共享数据Request共享数据
哪种请求方式只能转发到那种请求方式
请求转发只能转发到当前服务器内部的资源
来源:https://blog.csdn.net/lgl782519197/article/details/107183540
标签:Java,Request,请求转发
![](/images/zang.png)
![](/images/jiucuo.png)
猜你喜欢
Java如何实现字符串每隔4位加空格
2023-11-27 06:00:09
可视化Swing中JTable控件绑定SQL数据源的两种方法深入解析
2023-11-28 19:13:58
![](https://img.aspxhome.com/file/2023/3/60283_0s.jpg)
关于Springboot数据库配置文件明文密码加密解密的问题
2023-11-25 03:29:46
WebSocket实现Web聊天室功能
2023-11-27 06:10:52
![](https://img.aspxhome.com/file/2023/9/60189_0s.jpg)
安卓GreenDao框架一些进阶用法整理
2023-06-17 03:27:21
Java中HashMap里面key为null存放到哪
2023-11-10 02:46:47
Spring Boot 2.7.6整合redis与低版本的区别
2023-11-11 19:44:56
![](https://img.aspxhome.com/file/2023/7/59697_0s.png)
springmvc 参数绑定总结
2023-11-16 21:30:44
使用反射方式获取JPA Entity的属性和值
2023-07-24 17:43:22
Java构造代码块,静态代码块原理与用法实例分析
2023-11-03 09:03:45
![](https://img.aspxhome.com/file/2023/7/58707_0s.png)
简述Java中的四种引用类型
2023-11-29 00:46:56
基于java构造方法Vector创建对象源码分析
2023-11-25 11:27:54
![](https://img.aspxhome.com/file/2023/3/60043_0s.png)
java 汉诺塔Hanoi递归、非递归(仿系统递归)和非递归规律 实现代码
2023-09-13 11:29:31
Java开发中可以防止界面假死的刷新代码
2023-11-23 22:23:41
ShardingSphere解析SQL示例详解
2023-11-23 13:57:55
Kotlin开发Android应用实例详解
2023-09-11 00:22:50
![](https://img.aspxhome.com/file/2023/9/58149_0s.png)
java 动态生成bean的案例
2023-08-09 02:20:05
SpringBoot自动装配原理详解
2023-07-03 05:49:08
完整的iOS新浪微博分享功能开发
2023-06-24 14:14:08
![](https://img.aspxhome.com/file/2023/7/101967_0s.png)
SpringBoot如何获取Kafka的Topic列表
2023-11-26 16:01:52
![](https://img.aspxhome.com/file/2023/2/60242_0s.png)