這個異常的發生是由于字符的轉換造成的,如果你遇到了這個問題,
請先檢查一下你的jsp頁面里面參數傳遞中是否有參數包含有“%”
字符,如果有必須做如下轉換:
-----------------請求方------------------------
client.jsp
<script>
function doQuery(){
var sql = "select * from T_TESTTABLE where USERNAME like '王%'";//含有"%"的字符串
var url = "server.jsp?sql="+sql;
url = encodeURI(url); //如果不對url進行重新編碼,就會拋出標題的異常
url = encodeURI(url); //別問我為什么要兩次,因為我也不知道
window.open(url,800,600);
}
</script>
----------------服務方------------------------
server.jsp
<@ page contentType="text/html; charset=GBK">
<%
String sql = request.getParameter("sql");
sql = java.net.URLDecoder.decode(sql,"UTF-8"); //對編碼后的字符進行解碼得到原來的字符串
%>
以上為自己實際開發中遇到的問題和解決方案,如有不對的情大家幫忙指正!
激情與創新 盡在Blue Kiss