Java Servlet 编程,重定向介绍
文章目錄
- 什么是重定向
- 重定向流程演示圖
- 如何重定向
- 注意的問題
- 重定向的特點
- 重定向演示
什么是重定向
服務器向瀏覽器發送一個狀態碼 302 及一個消息頭 location,瀏覽器收到后,會立即向 location 所指向的地址發送請求。
重定向流程演示圖
(1)用戶在瀏覽器提交 form 表單,通過 add 到服務器找到 AddEmp
(2)AddEmp 向數據庫中插入一條數據
(3)AddEmp 返回給用戶一個消息頭 location = list(ListEmp 的地址)和 302 狀態碼,當瀏覽器碰到狀態碼 302 后,瀏覽器會自動向新地址發請求
(4)瀏覽器自動通過 list 找到 ListEmp
(5)ListEmp 到數據庫中查詢數據并返回給瀏覽器
如何重定向
response.sendRedirect(String url); 其中,url 是重定向的地址。
注意的問題
-
重定向之前,不能夠有 out.close() 或者 out.flush() 操作。為什么?重定向的內容需要寫入到 response 對象中,必須用到 out 對象,所以不能在重定向之前不能把 out 關閉掉。方法 flush() 會把 out 對象的數據全部寫入到 response 對象后,再關閉 out。
-
重定向之前,如果 response 對象緩存有數據,則這些數據會被清空。
-
在重定向代碼后寫輸出語句會不會執行?
會執行。JVM 將順序執行代碼,除非遇到 return 或 System.exit();
重定向的特點
- 重定向的地址是任意的
- 重定向之后,瀏覽器地址欄的地址變成了 location 所指定的地址。
重定向演示
執行結果
1)IDE 開啟 TCP/IP Monitor,瀏覽器訪問http://localhost:8080/web03/addEmp.html,文本框輸入信息,點擊“確定”提交表單數據
2))頁面直接跳轉到 http://localhost:8080/web03/list
3)TCP/IP Monitor 顯示
總結
以上是生活随笔為你收集整理的Java Servlet 编程,重定向介绍的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 分析 Web 资源的访问过程(Servl
- 下一篇: Java 打 jar 包时,MANIFE