Java課題筆記~ SpringMVC的四種跳轉方式

默認的跳轉是請求轉發,直接跳轉到jsp頁面展示

還可以使用框架提供的關鍵字redirect,進行一個重定向操作,包括重定向頁面和重定向action,使用框架提供的關鍵字forward,進行服務器內部轉發操作,包括轉發頁面和轉發action。

當使用redirect:和forward:關鍵字時,視圖解析器中前綴后綴的拼接就無效了。

頁面部分:

<!--ctrl+d:復制當前行-->
<a href="${pageContext.request.contextPath}/one.action">請求轉發頁面(默認)</a><br>
<a href="${pageContext.request.contextPath}/two.action">請求轉發action</a><br>
<a href="${pageContext.request.contextPath}/three.action">重定向頁面</a><br>
<a href="${pageContext.request.contextPath}/four.action">重定向action</a><br>

Controller部分:

@Controller
public class JumpAction {@RequestMapping("/one")public String one(){System.out.println("請求轉發頁面(默認)");//以前的訪問方式//request.getRequestDispatcher("/admin/main.jsp").forward(request,response);//觀察地址欄的變化:  http://localhost:8080/one.action//return "main"; //默認的訪問方式是自動拼接前綴和后綴進行跳轉return "forward:/fore/user.jsp";//只要使用了forward:就可以屏蔽前綴和后綴的拼接,自己手工構建返回的全部路徑+.jsp}@RequestMapping("/two")public String two(){System.out.println("請求轉發action");//觀察地址欄的變化:  http://localhost:8080/two.actionreturn "forward:/other.action";   //不使用forward:,就會是這樣的路徑  /admin/other.action/.jsp}@RequestMapping("/three")public String three(){System.out.println("重定向頁面");//觀察地址欄的變化  http://localhost:8080/admin/main.jspreturn "redirect:/admin/main.jsp";//只要使用了redirect:就可以屏蔽前綴和后綴的拼接}@RequestMapping("/four")public String four(){System.out.println("重定向action");//觀察地址欄的變化  http://localhost:8080/other.actionreturn "redirect:/other.action";//只要使用了redirect:就可以屏蔽前綴和后綴的拼接}
}

2.7 SpringMVC支持的默認參數類型

這些類型只要寫在方法參數中就可以使用了。

1)HttpServletRequest 對象

2)HttpServletResponse 對象

3)HttpSession 對象

4)Model/ModelMap 對象 

5)Map<String,Object>對象

注意Model,Map,ModelMap都使用的是request請求作用域,意味著只能是請求轉發后,頁面才可以得到值。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/40322.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/40322.shtml
英文地址,請注明出處:http://en.pswp.cn/news/40322.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

Martin_DHCP_V3.0 (DHCP自動化泛洪攻擊GUI)

Github>https://github.com/MartinxMax/Martin_DHCP_V3.0 首頁 Martin_DHCP_V3.0 自動化DHCP洪泛攻擊 Martin_DHCP_V3.0 使用方法 安裝三方庫 #python3 1.RunMe_Install_Packet.py 攻擊路由器 #python3 Martin_DHCP_Attack.py 填寫網卡 填寫攻擊次數 開始運行

《Go 語言第一課》課程學習筆記(二)

初窺門徑&#xff1a;一個 Go 程序的結構是怎樣的&#xff1f; 創建“hello&#xff0c;world”示例程序 在 Go 語言中編寫一個可以打印出“hello&#xff0c;world”的示例程序&#xff0c;我們只需要簡單兩步&#xff0c;一是創建文件夾&#xff0c;二是開始編寫和運行。通…

高光譜 | 礦物識別和分類標簽數據制作、農作物病蟲害數據分類、土壤有機質含量回歸與制圖、木材含水量評估和制圖

本課程提供一套基于Python編程工具的高光譜數據處理方法和應用案例。 本課程涵蓋高光譜遙感的基礎、方法和實踐。基礎篇以學員為中心&#xff0c;用通俗易懂的語言解釋高光譜的基本概念和理論&#xff0c;旨在幫助學員深入理解科學原理。方法篇結合Python編程工具&#xff0c;…

阿里云服務器部署RabbitMQ流程

阿里云百科分享使用阿里云服務器部署RabbitMQ流程&#xff0c;RabbitMQ是實現了高級消息隊列協議&#xff08;AMQP&#xff09;的開源消息代理軟件&#xff0c;用于在分布式系統中存儲轉發消息&#xff0c;有良好的易用性、擴展性和高可用性。本文介紹如何通過ECS實例部署Rabbi…

CentOS系統環境搭建(四)——Centos7安裝Java

centos系統環境搭建專欄&#x1f517;點擊跳轉 Centos7安裝Java 查看云端yum庫中目前支持安裝的jdk軟件包 yum search java|grep jdk選擇JDK版本&#xff0c;并安裝 yum install -y java-1.8.0-openjdk檢查是否安裝成功 java -version查看JDK的安裝目錄 find / -name jav…

【Java面試】redis雪崩、穿透和擊穿詳解

一 Redis雪崩、穿透和擊穿 1. Redis雪崩&#xff1a; Redis雪崩是指在某一時刻&#xff0c;緩存中大量的緩存數據同時失效或過期&#xff0c;導致大量的請求直接打到后端數據庫&#xff0c;導致數據庫負載劇增&#xff0c;引發性能問題甚至崩潰。這通常是因為緩存數據的過期時…

機器學習筆記:李宏毅 stable diffusion

1 基本框架 ①&#xff1a;文字變成向量 ②&#xff1a;喂入噪聲文字encoder&#xff0c;產生中間產物 ③&#xff1a;decoder 還原圖片 2 text encoder 這張圖越往右下表示效果越好&#xff0c;可以看到text encoder尺寸越大&#xff0c;對后續生成圖片的增益越多 3 評價圖…

公園游玩必備!新零售模式如何吸引更多游客

隨著科技的不斷演進&#xff0c;新零售模式正以前所未有的速度改變著我們的購物方式和消費體驗。其中&#xff0c;自動售貨機作為新零售模式的重要組成部分&#xff0c;以其智能化、便捷性和多樣性的特點&#xff0c;正逐漸成為城市中熠熠生輝的一道風景線。 從24小時不間斷的運…

LeetCode Top100 Liked 題單(序號34~51)

?34. Find First and Last Position of Element in Sorted Array ? 題意&#xff1a;找到非遞減序列中目標的開頭和結尾 我的思路 用二分法把每一個數字都找到&#xff0c;最后返回首尾兩個數 代碼 Runtime12 ms Beats 33.23% Memory14 MB Beats 5.16% class Solution {…

前端練手小項目--自定義時間(html+css+js)

自定義時間 寫文章的因 關于要寫這篇文章的原因 是記錄在工作上遇到的困難需求&#xff0c;是希望能給大家提供一些解決問題的思路 接下來我描述這個需求的多樣性&#xff0c;難點在哪。 勾選勾選框開始時間與結束時間默認顯示昨天與今天。取消勾選框開始時間與結束時間清空。…

如何查看線程在哪個cpu核上

1、ps -eLF查看PSR值 2、 taskset -pc $pid&#xff08;進程/線程&#xff09; 參考鏈接&#xff1a;https://blog.csdn.net/test1280/article/details/87993669

Ubuntu修改設置系列--修改ssh端口號的方法(有示例)

原文網址&#xff1a;Ubuntu修改設置系列--修改ssh端口號的方法(有示例)_IT利刃出鞘的博客-CSDN博客 簡介 說明 本文介紹Ubuntu修改ssh端口號的方法(有示例)。 要達成的目標 ssh添加一個端口&#xff1a;3333&#xff0c;關閉原來的22端口。 1.修改端口 修改配置文件/et…

thingsboard編譯安裝踩坑記錄

thingsboard編譯安裝踩坑記錄 一、編譯&#xff1a;二、運行 朋友的thingsboard沒人維護&#xff0c;要裝新的服務器&#xff0c;啥文檔也沒有&#xff0c;就讓參考官網的文檔&#xff0c;版本也比較老3.2.2的&#xff0c;拿過來試了試記錄下踩坑的地方。 一、編譯&#xff1a;…

get與post如何拼接url與數據的靈活處理,循環的重要性。

get與post拼接url地址不同&#xff1a; let postData {method: "post",data: {op: "/api/setting/maintenanceperiod?period"this.authorizationCode,loadingConfig: {},data: {period:this.authorizationCode}}}; if(this.editData.id){let postData …

Nginx運行Vue項目:基本運行

需求 在Nginx服務器中&#xff0c;運行Vue項目。 說明 Vue項目打包生成的生產文件&#xff0c;是無法直接在瀏覽器打開的。需要放到Nginx服務器中&#xff0c;才能夠訪問。 本文章只介紹最基本的情況&#xff1a;Nginx中運行一個Vue項目。 實際生產環境&#xff0c;一個Ng…

mysql 批量給數據表和字段添加注釋

1、用命令行導出 mysql數據庫中的所有表 首先查看 mysql 的配置文件 “/etc/my.cnf ”&#xff0c;配置中找到 datadir 目錄&#xff0c; 將文件導出到 datadir 目錄下 我的 datadir 目錄是&#xff1a; /var/lib/mysql 連接mysql&#xff0c;執行導出命令 SELECT TABLE_NAM…

解密 AI 客服;在不同硬件設備上運行大型語言模型的可能性

&#x1f989; AI新聞 &#x1f680; 微軟必應首席執行官稱必應聊天優于OpenAI的GPT-4&#xff0c;但成本更高 摘要&#xff1a;微軟必應的首席執行官米哈伊爾?帕拉欣表示&#xff0c;必應聊天表現優于OpenAI的GPT-4&#xff0c;但使用了更高成本的檢索增強推理技術。必應聊…

中科億海微ROM使用

標題 ROM&#xff08;Read-Only Memory&#xff0c;只讀存儲器&#xff09;是一種在FPGA&#xff08;Field-Programmable Gate Array&#xff0c;現場可編程門陣列&#xff09;中常用的存儲器類型。與RAM&#xff08;Random Access Memory&#xff0c;機存取存儲器&#xff09;…

Nginx安全加固,版本隱藏及HTTP請求頭修改方法

1 隱藏nginx版本號 1.1 引言 nginx作為目前較為流行的http server軟件&#xff0c;其相關的安全漏洞也非常多&#xff0c;攻擊者可以根據我們的nginx版本來了解到相關的漏洞從而針對性的進行攻擊。 通過新版本的nginx都會修復一些老版本的已知漏洞&#xff0c;但有時候我們生…

二刷LeetCode--148. 排序鏈表(C++版本),必會題,思維題

思路&#xff0c;本題其實考察了兩個點&#xff1a;合并鏈表、鏈表切分。首先從1開始&#xff0c;將鏈表切成一段一段&#xff0c;因為需要使用歸并&#xff0c;所以下一次的切分長度應該是當前切分長度的二倍&#xff0c;每次切分&#xff0c;我們拿出兩段&#xff0c;然后將第…