關(guān)于request.getHeader("Referer")的問題探討
更新時間:2013年10月29日 11:35:36 作者:
request.getHeader("Referer")獲取上次訪問的URL鏈接,在什么情況下他會出現(xiàn)問題,下面為大家分享下,感興趣的朋友不要錯過
今天我來分享一下,request.getHeader("Referer")獲取上次訪問的URL鏈接,在什么情況下他會出現(xiàn)問題!
我在某些頁面中,有某幾個按鈕,分別用來跳轉(zhuǎn)到action.do?method=m 但是,我是用
warpLoaction("url");這個來鏈接過去的,結(jié)果,我在火狐瀏覽器中,可以正確的
獲取上次訪問的頁面,在IE6下卻獲取不到。后來去網(wǎng)上百度了一下,看到了一哥門的評
說, request.getHeader("Referer")要走HTTP協(xié)議才有值,也就是說要通過<a href="url" />
標(biāo)記,才能獲取到值。當(dāng)然通過表單提交的也可以。而通過location或是<a href="javascript:window.location=''" />是得不到值的,當(dāng)時就馬上一行動。果然是那個原因。嘿嘿。
另一個:亂碼問題,如果request.getHeader("Referer")鏈接中帶有中文參數(shù),那么在經(jīng)過跳轉(zhuǎn)的時候,就會出現(xiàn)亂碼,這個時候需要用到String keyWords = new String(str.getBytes("ISO-8859-1"),"GBK");來進(jìn)行編碼轉(zhuǎn)換!可是如果不是通過request.getHeader("Referer")鏈接鏈過來的也用keyWords = new String(str.getBytes("ISO-8859-1"),"GBK");來進(jìn)行編碼轉(zhuǎn)換的話,就會出現(xiàn)亂碼,我在這里分享一下我是怎么解決的,首先,我用str.matches( "[\\u4E00-\\u9FA5]+")來判斷這個字符串中是否有中文,如果沒有中文,則為亂碼或者數(shù)字或者英文或者其他符號,那么我們則進(jìn)行編碼轉(zhuǎn)換,如果是中文,則不進(jìn)行編碼轉(zhuǎn)換!
我在某些頁面中,有某幾個按鈕,分別用來跳轉(zhuǎn)到action.do?method=m 但是,我是用
warpLoaction("url");這個來鏈接過去的,結(jié)果,我在火狐瀏覽器中,可以正確的
獲取上次訪問的頁面,在IE6下卻獲取不到。后來去網(wǎng)上百度了一下,看到了一哥門的評
說, request.getHeader("Referer")要走HTTP協(xié)議才有值,也就是說要通過<a href="url" />
標(biāo)記,才能獲取到值。當(dāng)然通過表單提交的也可以。而通過location或是<a href="javascript:window.location=''" />是得不到值的,當(dāng)時就馬上一行動。果然是那個原因。嘿嘿。
另一個:亂碼問題,如果request.getHeader("Referer")鏈接中帶有中文參數(shù),那么在經(jīng)過跳轉(zhuǎn)的時候,就會出現(xiàn)亂碼,這個時候需要用到String keyWords = new String(str.getBytes("ISO-8859-1"),"GBK");來進(jìn)行編碼轉(zhuǎn)換!可是如果不是通過request.getHeader("Referer")鏈接鏈過來的也用keyWords = new String(str.getBytes("ISO-8859-1"),"GBK");來進(jìn)行編碼轉(zhuǎn)換的話,就會出現(xiàn)亂碼,我在這里分享一下我是怎么解決的,首先,我用str.matches( "[\\u4E00-\\u9FA5]+")來判斷這個字符串中是否有中文,如果沒有中文,則為亂碼或者數(shù)字或者英文或者其他符號,那么我們則進(jìn)行編碼轉(zhuǎn)換,如果是中文,則不進(jìn)行編碼轉(zhuǎn)換!
相關(guān)文章
JSP動態(tài)網(wǎng)頁開發(fā)技術(shù)概述
這篇文章主要介紹了JSP動態(tài)網(wǎng)頁開發(fā)技術(shù)概述,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-07-07response.getWriter().write()向前臺打印信息亂碼問題解決
本節(jié)主要介紹了response.getWriter().write()向前臺打印信息亂碼問題解決方法,需要的朋友可以參考下2014-08-08jsp自定義標(biāo)簽技術(shù)(實現(xiàn)原理與代碼以及平臺搭建步驟)
由于jsp代碼規(guī)范要求不能出現(xiàn)一句java代碼。所有就有了jsp 的自定義標(biāo)簽技術(shù)2013-06-06