黑猴子的家 Tomcat 修改編碼方式

2021-08-30 08:47:23 字數 1738 閱讀 6034

開篇廢話

對於 url 提交的資料和表單中 get 方式提交的資料,在接收資料的 jsp 中設定 request.setcharacterencoding 引數是不行的,因為在 tomcat5.0 中,預設情況下使用iso-8859-1 對 url 提交的資料和表單中 get 方式提交的資料進行重新編碼(解碼),而不使用該引數對 url 提交的資料和表單中 get 方式提交的資料進行重新編碼(解碼)。

要解決該問題,應該在 tomcat 的配置檔案的 connector 標籤中設定usebodyencodingforuri 或者 uriencoding 屬性,其中 usebodyencodingforuri 引數表示是否用 request.setcharacterencoding 引數對 url 提交的資料和表單中 get 方式提交的資料進行重新編碼,在預設情況下,該引數為 false (tomcat4.0 中該引數預設為true );uriencoding 引數指定對所有 get 方式請求(包括 url 提交的資料和表單中 get 方式提交的資料)進行統一的重新編碼(解碼)的編碼。

1、方式一

(1)預設配置

(2)修改後配置

修改tomcat下conf/server.xml 檔案

[victor@hadoop102 ~]$ cd /opt/module/tomcat

[victor@hadoop102 tomcat]$ vim conf/server.xml

(3)主要新增內容

uriencoding="utf-8"
2、方式二

(1)預設配置

(2)修改後配置

修改tomcat下conf/server.xml 檔案

[victor@hadoop102 ~]$ cd /opt/module/tomcat

[victor@hadoop102 tomcat]$ vim conf/server.xml

(3)主要新增內容

usebodyencodingforuri="true"
(4)思想

新增 usebodyencodingforuri 屬性,usebodyencodingforuri 引數表示是否用 jsp 中 request.setcharacterencoding 引數對 url 提交的資料和表單中 get 方式提交的資料進行重新編碼

3、uriencoding 和 usebodyencodingforuri 區別

uriencoding 是對所有 get 方式的請求的資料進行統一的重新編碼(解碼),而 usebodyencodingforuri 則是根據響應該請求的頁面的request.setcharacterencoding 引數對資料進行的重新編碼(解碼),不同的頁面可以有不同的重新編碼(解碼)的編碼

所以對於 url 提交的資料和表單中 get 方式提交的資料,可以修改 uriencoding 引數為瀏覽器編碼或者修改 usebodyencodingforuri 為true ,並且在獲得資料的 jsp 頁面中 request.setcharacterencoding引數設定成瀏覽器編碼

黑猴子的家 Hadoop Checkpoint機制

fsimage和edit log合併的過程如下圖所示 其實這個合併過程是乙個很耗i o與cpu的操作,並且在進行合併的過程中肯定也會有其他應用繼續訪問和修改hdfs檔案。所以,這個過程一般不是在單一的namenode節點上進行從。如果hdfs沒有做ha的話,checkpoint由secondname...

黑猴子的家 FileInputFormat切片機制

1 job提交流程原始碼詳解 waitforcompletion submit 1 建立連線 connect 1 建立提交job的 new cluster getconfiguration 2 判斷是本地yarn還是遠端 initialize jobtrackaddr,conf 2 提交job su...

黑猴子的家 Zookeeper Java API

1 code github 2 環境準備 1 建立乙個工程 2 解壓zookeeper 3.4.10.tar.gz檔案 3 拷貝zookeeper 3.4.10.jar jline 0.9.94.jar log4j 1.2.16.jar netty 3.10.5.final.jar slf4j ap...