Java登錄成功后實現頁面跳轉,springmvc04跳轉

 2023-11-30 阅读 25 评论 0

摘要:四、跳轉 重定向和轉發區別: 1、請求次數:重定向是瀏覽器向服務器發送一個請求并收到響應后再次向一個新地址發出請求,轉發是服務器收到請求后為了完成響應跳轉到一個新的地址;重定向至少請求兩次,轉發請求一次; 2、地址欄不同

四、跳轉


重定向和轉發區別:
1、請求次數:重定向是瀏覽器向服務器發送一個請求并收到響應后再次向一個新地址發出請求,轉發是服務器收到請求后為了完成響應跳轉到一個新的地址;重定向至少請求兩次,轉發請求一次;

2、地址欄不同:重定向地址欄會發生變化,轉發地址欄不會發生變化;

3、是否共享數據:重定向兩次請求不共享數據,轉發一次請求共享數據(在request級別使用信息共享,使用重定向必然出錯);

4、跳轉限制:重定向可以跳轉到任意URL,轉發只能跳轉本站點資源;

5、發生行為不同:重定向是客戶端行為,轉發是服務器端行為;

4.1 轉發

@RequestMapping("/forw")
class ForwardController{@RequestMapping("/test1")public String testForward(){System.out.println("test forward1");// 轉發跳轉 /views/users.jsp// return "views/users";//和下一行等價return "forward:/views/users.jsp";}@RequestMapping("/test2")public String testForward2(){System.out.println("test forward2");//轉發到  /forw/test1//return "forward:test1";//相對路徑(轉發到本類中的test1)//轉發到  /forw/test1return "forward:/forw/test1"; //絕對路徑}
}

Java登錄成功后實現頁面跳轉、補:

    @RequestMapping("/test2")public String test2(){System.out.println("test2");//return "forward:/jump/test1";//轉發return "forward:test1";//相對路徑}

4.2 重定向

@RequestMapping("/redir")
class RedirectController{@RequestMapping("/test1")public String testRedirect1(){System.out.println("test redirect1");//重定向到 /redir/test1//return "redirect:test1"; //相對路徑(轉發到本類中的test1)return "redirect:/redir/test1";//絕對路徑}@RequestMapping("/test2")public String testRedirect2(){System.out.println("test redirect2");//重定向到 /views/users.jspreturn "redirect:/view/user.jsp";}
}

補:
重定向到靜態資源

    @RequestMapping("/test3")public String test3(){System.out.println("test3");return "redirect:/hello.jsp"; // 重定向到hello.jsp}

重定向到其他方法

    @RequestMapping("/test4")public String test4(){System.out.println("test4");return "redirect:test3";//return "redirect:/jump/test3"}

4.3 跳轉細節

  • 在增刪改之后,為了防止請求重復提交,重定向跳轉

  • 在查詢之后,可以做轉發跳轉

查:
使用轉發,重新查詢。

 @RequestMapping("/query")public String test5(){System.out.println("query數據1");return "forward:test1";}
http://localhost:8080/jump/query

javaswing頁面跳轉。使用轉發到test1,地址不變。每次都重新查一遍
在這里插入圖片描述
刪除:
需要使用重定向,地址會變。這樣刷新的時候就不會再重復刪除。

    @RequestMapping("/delete")public String test6(){System.out.println("delete數據1");return "redirect:test1";}

在這里插入圖片描述

版权声明:本站所有资料均为网友推荐收集整理而来,仅供学习和研究交流使用。

原文链接:https://hbdhgg.com/5/186149.html

发表评论:

本站为非赢利网站,部分文章来源或改编自互联网及其他公众平台,主要目的在于分享信息,版权归原作者所有,内容仅供读者参考,如有侵权请联系我们删除!

Copyright © 2022 匯編語言學習筆記 Inc. 保留所有权利。

底部版权信息