程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> JSP編程 >> 關於JSP >> 關於request.getHeader(Referer)的問題探討

關於request.getHeader(Referer)的問題探討

編輯:關於JSP
今天我來分享一下,request.getHeader("Referer")獲取上次訪問的URL鏈接,在什麼情況下他會出現問題!
我在某些頁面中,有某幾個按鈕,分別用來跳轉到action.do?method=m 但是,我是用
warpLoaction("url");這個來鏈接過去的,結果,我在火狐浏覽器中,可以正確的
獲取上次訪問的頁面,在IE6下卻獲取不到。後來去網上百度了一下,看到了一哥門的評
說, request.getHeader("Referer")要走HTTP協議才有值,也就是說要通過<a href="url" />
標記,才能獲取到值。當然通過表單提交的也可以。而通過location或是<a href="javascript:window.location=''" />是得不到值的,當時就馬上一行動。果然是那個原因。嘿嘿。

另一個:亂碼問題,如果request.getHeader("Referer")鏈接中帶有中文參數,那麼在經過跳轉的時候,就會出現亂碼,這個時候需要用到String keyWords = new String(str.getBytes("ISO-8859-1"),"GBK");來進行編碼轉換!可是如果不是通過request.getHeader("Referer")鏈接鏈過來的也用keyWords = new String(str.getBytes("ISO-8859-1"),"GBK");來進行編碼轉換的話,就會出現亂碼,我在這裡分享一下我是怎麼解決的,首先,我用str.matches( "[\\u4E00-\\u9FA5]+")來判斷這個字符串中是否有中文,如果沒有中文,則為亂碼或者數字或者英文或者其他符號,那麼我們則進行編碼轉換,如果是中文,則不進行編碼轉換!
  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved