jsp實現頁面跳轉的方法「servlet跳轉頁面的兩種方式」

一設置編碼集:

設置請求的編碼:


request.setCharacterEncoding(伺服器編碼)

在代碼中也就是這樣:

java servlet筆記:設置編碼集、文件下載和兩種伺服器跳轉

本身這個語法是對請求實體進行設置編碼,針對於post有效,如果需要對get同時設置編碼,需要在設置埠號的地方添加一個useBodyEncodingForURI=”true”.,如下圖:

java servlet筆記:設置編碼集、文件下載和兩種伺服器跳轉

設置響應實體中的編碼:

response.setHeader(“content-type”,”text/html;charset=伺服器編碼”)

在代碼中是這樣:

java servlet筆記:設置編碼集、文件下載和兩種伺服器跳轉

表單如果是get方式提交,那麼action後面跟的參數會被覆蓋。解決方式,1)使用post傳參。2)可以使用隱藏域

二、下載功能:

1)設置下載的響應頭

response.setHeader(“content-disposition”,”attachment;filename=文件名”)

文件名是用戶所接收到的文件的名字,如果文件名字中帶中文,需要設置編碼集為iso8859-1

在代碼中是這樣:

java servlet筆記:設置編碼集、文件下載和兩種伺服器跳轉

2)將資源以流的方式輸出

java servlet筆記:設置編碼集、文件下載和兩種伺服器跳轉

三、伺服器跳轉的兩種方式:

請求轉發:


request.getRequestDispacher(地址).forward(請求對象,響應對象)

特點:

1)整個過程只有一次請求

2)地址欄不發生變化

3)效率高

4)不能訪問外部資源

5)絕對路徑的/ 代表的是根目錄之後的 /

6)一般習慣性的在請求轉發之後添加一個return

重定向:

response.sendRedirect(地址)

特點:

1)整個過程只有兩次請求

2)地址欄發生變化

3)效率低

4)能訪問外部資源

5)絕對路徑的/ 代表的是埠號之後的 /

6)一般習慣性的在重定向之後添加一個return

路徑總結:

請求轉發: 絕對路徑的/ 代表的是根目錄之後的 /

重定向: 絕對路徑的/ 代表的是埠號之後的 /

頁面的路徑: 絕對路徑的/ 代表的是埠號之後的 /

原創文章,作者:投稿專員,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/272900.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
投稿專員的頭像投稿專員
上一篇 2024-12-17 14:02
下一篇 2024-12-17 14:02

相關推薦

發表回復

登錄後才能評論