關(guān)于Java中重定向傳參與取值
Java中重定向傳參與取值
重定向:不僅可以重定向到當前應(yīng)用程序中的其他資源,還可以重定向到同一個站點上的其他應(yīng)用程序中的資源,甚至是使用絕對URL重定向到其他站點的資源
1、重定向基本語法
@PostMapping(value = "/test")
public String index() {
return "redirect:index";
}當我們請求 test 時,重定向到 index 請求中,當然,也可以直接重定向到頁面 redirect:index.html
2、重定向傳參
@PostMapping(value = "/test")
public String index(RedirectAttributes attributes) {
attributes.addFlashAttribute("msg", "提示信息");
return PasswordUtils.redirectTo("/index");
}我們在重定向時,借助了 RedirectAttributes 對象傳入了 msg 參數(shù)
注意:
addAttribute,會將參數(shù)放入路徑傳遞,例如:127.0.0.1:8080/index?msg=提示信息
addFlashAttribute,不會把參數(shù)放入路徑傳遞,例如:127.0.0.1:8080/index
3、重定向接收參數(shù)
@RequestMapping(value = "/index")
public ModelAndView index(@ModelAttribute("msg") String msg) {
ModelAndView mav = new ModelAndView("index");
// 頁面提示語
mav.addObject("msg", msg);
return mav;
}我們使用 @ModelAttribute 接收了參數(shù) msg,將參數(shù)賦值給 ModelAndView 對象,傳給客戶端
JAVA 中重定向
一、重定向:一個web資源收到客戶端的請求后,通知客戶端去訪問另外一個web資源,這稱之為請求重定向。
運用場景:如用戶登錄。
實現(xiàn)方式:通過response來實現(xiàn):
如:
1.response.sendRedirect("/ServletDemo/Login.jsp");
二、轉(zhuǎn)發(fā):一個web資源收到客戶端的請求后,通知服務(wù)器調(diào)用另外一個web資源進行處理。
運用場景:MVC設(shè)計模式
實現(xiàn)方式:通過request對象來實現(xiàn):
如:
1.request.getRequestDispatcher("/Login.jsp").forward(request,response);
三、重定向與轉(zhuǎn)發(fā)的區(qū)別:
1.重定向是在客戶端完成的,轉(zhuǎn)發(fā)是在服務(wù)器完成的
2.轉(zhuǎn)發(fā)只訪問一次服務(wù)器,重定向訪問兩次服務(wù)器,所以相比較而言,轉(zhuǎn)發(fā)對于服服務(wù)器的壓力更??;
3.轉(zhuǎn)發(fā)只能將請求轉(zhuǎn)發(fā)給同一個web應(yīng)用中的組件,重定向還可以重定向到其他網(wǎng)站;
4.轉(zhuǎn)發(fā) "/"的根目錄是當前web應(yīng)用下的根目錄,而重定向是整個web站點的根目錄,如上面的示例代碼中,同樣跳轉(zhuǎn)到Login.jsp界面,但重定向卻要在前面加上項目名;
5.重定向訪問過程結(jié)束后,瀏覽器地址欄中顯示的URL會發(fā)生改變變成重定向的目標URL,而轉(zhuǎn)發(fā)則不會;
6.RequestDispatcher.forward方法的調(diào)用者與被調(diào)用者之間共享相同的request對象和response對象,它們屬于同一個訪問請求和響應(yīng)過程.而HttpServletResponse.sendRedirect方法調(diào)用者與被調(diào)用者使用 各自的request對象和
response對象,它們屬于兩個獨立的訪問請求和響應(yīng)過程。
重定向與轉(zhuǎn)發(fā)的區(qū)別,通俗的來講,打個比方:張三找李四借錢,李四沒有錢,李四讓張三自己去找王五借,這是重定向;張三找李四借錢,李四雖然沒有錢,但李四從王五那借來錢,然后再借給張三,這是轉(zhuǎn)發(fā)。
到此這篇關(guān)于Java中重定向傳參與取值問題的文章就介紹到這了,更多相關(guān)java重定向傳參內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
java應(yīng)用開發(fā)之JVM運行時內(nèi)存分析
這篇文章主要介紹了java應(yīng)用開發(fā)之JVM運行時內(nèi)存,文中附含圖文示例內(nèi)容分析非常簡要,有需要的朋友可以借鑒參考下,希望能夠有所幫助2021-09-09
Mybatis 插入一條或批量插入 返回帶有自增長主鍵記錄的實例
下面小編就為大家分享一篇Mybatis 插入一條或批量插入 返回帶有自增長主鍵記錄的實例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2017-12-12
Spring?Cache?集成?Caffeine實現(xiàn)項目緩存的示例
本文主要介紹了Spring?Cache?集成?Caffeine實現(xiàn)項目緩存的示例,文中通過示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下2021-12-12

