Servlet編碼過濾器(Post和get方式都支援)
package com.pdsu.filter; import java.io.IOException; import java.io.UnsupportedEncodingException; import javax.servlet.Filter; import javax.servlet.FilterChain; import javax.servlet.FilterConfig; import javax.servlet.ServletException; import javax.servlet.ServletRequest; import javax.servlet.ServletResponse; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletRequestWrapper; import javax.servlet.http.HttpServletResponse; /** * 類說明:字元過濾器 * * @author 作者: LiuJunGuang * @version 建立時間:2011-11-18 下午07:05:51 */ public class CharacterEncodingFilter implements Filter { private String encode = "UTF-8";// 預設UTF-8編碼 public void init(FilterConfig filterConfig) throws ServletException { String encoding = filterConfig.getInitParameter("encode"); if (encoding != null) { encode = encoding; } } public void doFilter(ServletRequest req, ServletResponse resp, FilterChain chain) throws IOException, ServletException { HttpServletRequest request = (HttpServletRequest) req; HttpServletResponse response = (HttpServletResponse) resp; // 設定request編碼 request.setCharacterEncoding(encode); // 設定相應資訊 response.setContentType("text/html;charset=" + encode); response.setCharacterEncoding(encode); chain.doFilter(new CharacterEncodingRequest(request), response); } public void destroy() { } } /** * 對Get方式傳遞的請求引數進行編碼 */ class CharacterEncodingRequest extends HttpServletRequestWrapper { private HttpServletRequest request = null; public CharacterEncodingRequest(HttpServletRequest request) { super(request); this.request = request; } /** * 對引數重新編碼 */ @Override public String getParameter(String name) { String value = super.getParameter(name); if(value == null) return null; String method = request.getMethod(); if ("get".equalsIgnoreCase(method)) { try { value = new String(value.getBytes("ISO8859-1"), request.getCharacterEncoding()); } catch (UnsupportedEncodingException e) { e.printStackTrace(); } } return value; } }
在web.xml中新增如下內容:
<filter> <filter-name>characterEncodingFilter</filter-name> <filter-class>com.pdsu.filter.CharacterEncodingFilter</filter-class> <init-param> <param-name>encode</param-name> <param-value>UTF-8</param-value> </init-param> </filter> <filter-mapping> <filter-name>characterEncodingFilter</filter-name> <url-pattern>/*</url-pattern> </filter-mapping>
相關推薦
Servlet編碼過濾器(Post和get方式都支援)
package com.pdsu.filter; import java.io.IOException; import java.io.UnsupportedEncodingException; import javax.servlet.Filter; import j
過濾器-解決全站字元亂碼(POST和GET中文編碼問題)
servlet: POST:request.setCharacterEncoding(“utf-8”); GET: String username = request.getParameter(“username”); username = new String(use
解決全站字符亂碼(POST和GET中文編碼問題)
{} tomcat ont throws turn nco cat doget pro 1 說明 亂碼問題: 獲取請求參數中的亂碼問題; POST請求:request.setCharacterEncoding(“utf-8”); GET請求:new String(r
Http (java)的post和get方式
inf log href www param client get char comm 用java發送post和get請求的兩種方式 1.URL 2.httpclient 第一種方式: URL形式發送請求 第二種方式: commons-httpclient-3.1.jar;
http請求的post和get方式的區別
在網上找了post和get請求方式的不同和區別,感覺這個比較好,轉載過來和大家分享! Http定義了與伺服器互動的不同方法,最基本的方法有4種,分別是GET,POST,PUT,DELETE。URL全稱是資源描述符,我們可以這樣認為:一個URL地址,它用於描述一個網路上的
java使用Post和Get方式提交Http請求通用
很多api提供了java的post,get方式呼叫返回結果的介面,以下記錄基礎通用的傳送請求並接收返回引數的方式:package com.taray.test; import java.io.BufferedReader; import java.io.IOException
如何解決POST和GET方式的中文亂碼問題
一:確保表單所在的頁面按照指定的字符集開啟★在HTML頁面中使用meta標記可以確保瀏覽器按照指定的字符集進行解碼頁面,並限定表單提交時的資料編碼方式:<meta http-equiv="content-type" content="text/html;charset=utf-8">:完成ISO-
C#帶cookie Post和Get方式傳送資料,保持cookie
在實際程式設計中,可能需要讀取特定網頁的資訊,但很多網站需要使用者登入後,才能夠獲取相關的頁面內容,這就需要程式設計者先臨時儲存當前的cookie,在C#中可以使用CookieContainer 物件來儲存登入後的Cookie資訊,這樣,在每次傳送資料的時候,附加上Cookie資訊,就可以了。
ajax和Controller相互傳遞json資料的實現(post和get)
post和get兩種方式的程式碼略有不同(如get需要手動處理中文亂碼),下面給出具體實現: 1、post方式 前端程式碼: <script type="text/javascript" src="<c:url value="/lib/jquery.min.js"/&
原生ajax post 和get 方式傳值
<script type='text/javascript'> function closes (){ var r=confirm("確定要刪除嗎") if (r==true){
提交Form表單,POST和GET方式的傳值問題。
<form action="${pageContext.request.contextPath }/UserServlet?id=123" method="get"> userame:<input type="text" name="username"&
Httpclient重寫post和get方式連線伺服器
package com.cetron.common.utils.Http; import com.google.gson.Gson; import org.apache.http.HttpEntity; import org.apache.http.client.Cli
HTTP協議介紹(POST、GET、Content-Type)
什麼是HTTP? 超文字傳輸協議(HyperText Transfer Protocol -- HTTP)是一個設計來使客戶端和伺服器順利進行通訊的協議。 HTTP/1.1 協議規定的 HTTP 請求方法有 OPTIONS、GET、HEAD、POST、PUT、DELETE
HTML提交方式post和get區別(實驗)
des url action 通過 性別 清除數據 map pass pack HTML提交方式post和get區別(實驗) 一、post和get區別 get提交,提交的信息都顯示在地址欄中。 post提交,提交的信息不顯示地址欄中,顯示在消息體中。 二、客戶端代碼
C++使用libcurl做HttpClient(業務觀摩,用C++封裝過程式代碼,post和get的數據,最好url編碼,否則+會變成空格)good
com 如果 msvc 是否 out tle source rac 無需 當使用C++做HTTP客戶端時,目前通用的做法就是使用libcurl。其官方網站的地址是http://curl.haxx.se/,該網站主要提供了Curl和libcurl。Curl是命令行
Servlet之過濾器(Filter)和監聽器(Listener)
卸載 ons str alt 用戶 監聽 實際應用 .com except 過濾器 過濾器是一個java組件,可以攔截發送至某個servelet,jsp頁面或靜態頁面的請求,可以在響應發送到客戶之前進行攔截 工作原理: 過濾器類必須實現 Filter 接口,包含的方法如下
C#傳送簡單的post和get請求(轉載)
POST傳送請求及接受響應流程 根據目標地址址建立HttpWebRequest物件 設定響應的請求引數------Method、ContentType 等 使用HttpWebRequest物件獲取請求流並且寫入訊息體 使用H
Django框架(二)—— 基本配置:app註冊、模板配置、靜態檔案配置、資料庫連線配置post和get
app註冊、模板配置、靜態檔案配置、資料庫連線配置post和get 一、app 在Django中,APP可以用以下類比 大學 --------------------專案 計算機學院------------app01 土木學院 ------------ app02 1、app建立 方
HTTP請求方法之header(原來不光只有post和get啊~~)
以前一直以為HTTP請求只有POST和GET方法(知識最常用的),後來看一篇簡書,裡面提到還有HEAD方法,再查查資料發現不止這3個。。。 據RFC2616標準(現行的HTTP/1.1)得知,通常有以下8種方法:OPTIONS、GET、HEAD、POST、PUT、DELET
request請求獲取引數(post和get兩種方式)
提交表單程式碼: <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>Insert title here</title> </h