Java中Request請求轉發(fā)詳解
直接來,RequestDemo5代碼,get請求和post請求都請求轉發(fā)了,轉發(fā)到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調試頁面可以看出,轉發(fā)只是一次請求,只有/requestDemo5請求,說明,可共享數據Request共享數據
我們用Postman進行post請求一下

后臺輸出:

可見,get請求的轉發(fā)會轉發(fā)到get請求,post請求的轉發(fā),會轉發(fā)到post請求
我們改一下RequestDemo5的代碼,轉發(fā)到百度
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請求進來了,從瀏覽器看出,轉發(fā)失敗了,而且從實際轉發(fā)的路徑上看,因為虛擬路徑,所以請求轉發(fā)只能轉發(fā)到當前服務器內部的資源
請求轉發(fā)的特點總結:(與之對應的------重定向的詳情與特點)
- 瀏覽器地址欄路徑不發(fā)生變化
- 轉發(fā)只是一次請求,可共享數據Request共享數據
- 哪種請求方式只能轉發(fā)到那種請求方式
- 請求轉發(fā)只能轉發(fā)到當前服務器內部的資源
到此這篇關于Java中Request請求轉發(fā)詳解的文章就介紹到這了,更多相關Java Request請求轉發(fā)內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
java中JsonObject與JsonArray轉換方法實例
在項目日常開發(fā)中常常會遇到JSONArray和JSONObject的轉換,很多公司剛入職的小萌新會卡在這里,下面這篇文章主要給大家介紹了關于java中JsonObject與JsonArray轉換方法的相關資料,需要的朋友可以參考下2023-04-04
Java 獲取Html文本中的img標簽下src中的內容方法
今天小編就為大家分享一篇Java 獲取Html文本中的img標簽下src中的內容方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2018-06-06
通過Spring Boot + Mybatis + Redis快速搭建現(xiàn)代化Web項目
本篇文章介紹了如何通過Spring Boot、Mybatis以及Redis快速搭建一個現(xiàn)代化的Web項目,并且同時介紹了如何在Spring Boot下優(yōu)雅地書寫單元測試來保證我們的代碼質量。具體內容詳情大家通過本文學習下吧2017-12-12
Java中隊列Queue和Deque的區(qū)別與代碼實例
學過數據結構的,一定對隊列不陌生,java也實現(xiàn)了隊列,下面這篇文章主要給大家介紹了關于Java中隊列Queue和Deque區(qū)別的相關資料,需要的朋友可以參考下2021-08-08

