1. 程式人生 > >java web中如何通過filter 設定全域性編碼

java web中如何通過filter 設定全域性編碼

}
}

// 裝飾類
class MyRequest extends HttpServletRequestWrapper {

private HttpServletRequest request;
public MyRequest(HttpServletRequest request) {
super(request);
this.request = request;
}
// 重寫關於獲取請求引數的方法.
@Override
public String getParameter(String name) {
Map<String, String[]> map = getParameterMap();
if (name == null) {
return null;
}
String[] st = map.get(name);
if (st == null || st.length == 0) {
return null;
}
return st[0];
}
@Override
public String[] getParameterValues(String name) {
Map<String, String[]> map = getParameterMap();
if (name == null) {
return null;
}
String[] st = map.get(name);
return st;
}

private boolean flag = true;
@Override
public Map getParameterMap() {
// 1.得到所有請求引數的Map集合
Map<String, String[]> map = request.getParameterMap(); // 有編碼問題.
// 2.解決編碼問題.
if (flag) {
for (String key : map.keySet()) {
String[] values = map.get(key);
for (int i = 0; i < values.length; i++) {
try {
values[i] = new String(values[i].getBytes("iso8859-1"),
"utf-8");
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
}
}
}
flag = false;
}
return map;
}
}

相關推薦

java web如何通過filter 設定全域性編碼

}}// 裝飾類class MyRequest extends HttpServletRequestWrapper {private HttpServletRequest request;public MyRequest(HttpServletRequest request) {super(request);

Java Web專案通過filter限制IP訪問及路由攔截

背景 web開發中出於安全方面的考慮,對於後臺管理專案通常會對使用者訪問做限制,常見的做法是硬體上設定白名單,過濾掉不需要的IP訪

Java web常見編碼亂碼問題(二)

catalina 轉換 alt str 檢測 內容 tom 拼搏 image 根據上篇記錄Java web中常見編碼亂碼問題(一), 接著記錄亂碼案例:   案例分析:   2、輸出流寫入內容或者輸入流讀取內容時亂碼(內容中有中文)   原因分析:     a、 如果是

java web編碼亂碼問題

查詢 頁面 問題 調試過程 都是 clas image 進行 web項目   b/s 模式的java web項目中,不管是前端與後端。開發過程中,調試過程中,運行過程都經常遇到亂碼問題。再從現象出發,分析一下問題:    1,項目導進來,頁面中的註釋等非西歐文字都是亂碼。先

Java Web使用JSPSmartUpload控制元件實現檔案的上傳和下載(解決了中文亂碼問題)(JSP頁面採用GBK編碼

package edu.uestc.updown; import java.io.IOException; import java.io.PrintWriter; import javax.servlet.ServletConfig; import javax.servlet.ServletException

Java Web的中文編碼問題(下)

Java Web 涉及到的編碼       對於使用中文來說,有 I/O 的地方就會涉及到編碼,前面已經提到了 I/O 操作會引起編碼,而大部分 I/O 引起的亂碼都是網路 I/O,因為現在幾乎所有的

[filter] Java web 過濾器的配置

在Java web開發中常會使用到功能強大的過濾器,他畢竟能給我們帶來很大的方便,但是針對過濾的資源我們需要詳細的瞭解他們在web.xml中的配置資訊。這個根據幾種常用的不同情況進行了總結:  1。如果要對映過濾應用程式中所有資源: <filter>    

tomcat 與 java weburl路徑的配置以及使用規則詳情(長期更新)

root 每一個 ava 目錄 clip ima 文件夾 logs 需要 首先我們看一下在myeclipse中建立的java web項目的結構 在這裏我們需要註意這個webroot也就是我們在tomcat裏的webapp裏面的應用 之所以每一個項目都有這個webroot

java-web生成文檔(一)

all 檢查 download com ftl 緩沖 getc cor tps 基於Java的解決方案也是很多的,包括使用Jacob、Apache POI、Java2Word、iText等各種方式,其實在從Office 2003開始,就可以將Office文檔轉換成XML文件

MySQL 查詢語句自己定義的中文內容在Java Web 顯示為問號

variable select 關閉 程序 自己 bsp from sel 技術   Java Web 端做查詢時,性別字段存的是數字,1代表男,2代表女,取數據時將性別轉為漢字顯示在頁面,sql語句如下,結果發生了問題 select a.emp_id,a.emp_n

Java方法通過傳遞引數改變變數的值

剛在寫一個用例,需要在方法中改變傳遞的引數的值,可是java中只有傳值呼叫,沒有傳址呼叫。所以在java方法中改變引數的值是行不通的。但是可以改變引用變數的屬性值。 可以仔細理解一下下面幾句話: 1、對於基本型別引數,在方法體內對引數進行重新賦值,並不會改變原有變數的值。 2、對

Java Web的mapper,service,controller,model

目錄 一、SSM(Spring+SpringMVC+MyBatis)架構 1、 SSM的工作原理 (1) SSM系統架構 (2) SSM程式執行流程 2、 MSCM是什麼及其作用 (1) controller (2) model  (3) service

Java Web提交表單之後跳轉到WebContent目錄下的子目錄裡的jsp檔案

最近在做一個系統,需要完成登入動能進行跳轉到另一個頁面。在這個專案裡面,我把 jsp,css,js檔案都統一放在 WebContent 目錄下的一個 WebPage 裡面。 按照以前的習慣,寫好了 servlet 之後在 web.xml 裡面完成配置,但由於平時 jsp 檔案都是直接

Java應用通過SparkLauncher啟動Spark任務

本部落格內容基於Spark2.2版本,在閱讀文章並想實際操作前,請確保你有: 一臺配置好Spark和yarn的伺服器 支援正常spark-submit --master yarn xxxx的任務提交 老版本 老版本任務提交是基於啟動本地程序,執行指令碼spark-submit xxx **

Java web 的中文亂碼問題總結

一、亂碼由來:        大家都知道一句話:“亂碼是因為編碼和解碼方式不一致造成的”。 那麼,我們為什麼要編碼呢?        那就要從計算機底層是如何表示人類語言(

Java Web使用Spark MLlib訓練的模型

PMML是一種通用的配置檔案,只要遵循標準的配置檔案,就可以在Spark中訓練機器學習模型,然後再web介面端去使用。目前應用最廣的就是基於Jpmml來載入模型在javaweb中應用,這樣就可以實現跨平臺的機器學習應用了。 訓練模型 首先在spark MLlib中使用mllib包下的邏輯迴歸

Java Web的jsp技術

     在動態網頁開發中,經常需要動態生成html內容,如果使用servlet來實現html頁面資料的改變會導致程式十分臃腫。為了克服這些缺點,Oracle(Sun)公司推出了jsp技術。     JSP全名是Java Server Page,它是建立在S

Java WebgetAttribute和getParameter的區別

1.getAttribute是取得jsp中 用setAttribute設定的attribute  2.parameter得到的是string;attribute得到的是object  3.request.getParameter()方法傳遞的資料,會從Web客戶端傳到Web伺服器

Java Web開發Session超時設定

在Java Web開發中,Session為我們提供了很多方便,Session是由瀏覽器和伺服器之間維護的。Session超時理解為:瀏覽器和伺服器之間建立了一個Session,由於客戶端長時間(休眠時間)沒有與伺服器互動,伺服器將此Session銷燬,客戶端

RabbitMQ在java-web的簡單應用

RabbitMQ的使用場景 MQ,是Message Queue(訊息佇列)的簡寫。簡而言之,RabbitMQ就是將訊息儲存在佇列中。 在專案的實際開發過程中,可以將一些無需即時返回結果且耗時的操作提取出來,進行非同步處理。這種處理方式能夠大大節省伺服器的請求響應