<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    Kimi's NutShell

    我荒廢的今日,正是昨日殞身之人祈求的明日

    BlogJava 新隨筆 管理
      141 Posts :: 0 Stories :: 75 Comments :: 0 Trackbacks
    在tomcat5中發現了以前處理tomcat4的方法不能適用于處理直接通過url提交的請求,上網找資料終于發現了最完美的解決辦法,不用每個地方都轉換了,而且無論get,和post都正常。????
    ??
    ? ------------------- ?
    ? ?
    ? 問題描述: ?
    ? ?
    ? 1 ? 表單提交的數據,用request.getParameter("xxx")返回的字符串為亂碼或者?? ?
    ? 2 ? 直接通過url如http://localhost/a.jsp?name=中國,這樣的get請求在服務端用request.getParameter("name")時返回的是亂碼;按tomcat4的做法設置Filter也沒有用或者用request.setCharacterEncoding("GBK");也不管用 ?
    ? ?
    ? 原因: ?
    ? 1 ? tomcat的j2ee實現對表單提交即post方式提示時處理參數采用缺省的iso-8859-1來處理 ?
    ? 2 ? tomcat對get方式提交的請求對query-string ? 處理時采用了和post方法不一樣的處理方式。(與tomcat4不一樣,所以設置setCharacterEncoding("GBK"))不起作用。 ?
    ? ?
    ? ?
    ? 解決辦法: ?
    ? ?
    ? 首先所有的jsp文件都加上: ?
    ? ?
    ? ?
    ? 1 ? 實現一個Filter.設置處理字符集為GBK。(在tomcat的webapps/servlet-examples目錄有一個完整的例子。請參考web.xml和SetCharacterEncodingFilter的配置。) ? ?
    ? ?
    ? 1)只要把%TOMCAT安裝目錄%/ ? webapps\servlets-examples\WEB-INF\classes\filters\SetCharacterEncodingFilter.class文件拷到你的WEB-INF\classes目錄filters下,如果沒有filters目錄,就創建一個。 ?
    ? 2)在你的web.xml里加入如下幾行: ?
    ? ?
    ? ? ? ? ? <filter> ?
    ? ? ? ? ? ? ? ? ? <filter-name>Set ? Character ? Encoding</filter-name> ?
    ? ? ? ? ? ? ? ? ? <filter-class>filters.SetCharacterEncodingFilter</filter-class> ?
    ? ? ? ? ? ? ? ? ? <init-param> ?
    ? ? ? ? ? ? ? ? ? ? ? ? ? <param-name>encoding</param-name> ?
    ? ? ? ? ? ? ? ? ? ? ? ? ? <param-value>GBK</param-value> ?
    ? ? ? ? ? ? ? ? ? </init-param> ?
    ? ? ? ? ? </filter> ?
    ? ?
    ? ? ? ? ? <filter-mapping> ?
    ? ? ? ? ? ? ? ? ? <filter-name>Set ? Character ? Encoding</filter-name> ?
    ? ? ? ? ? ? ? ? ? <url-pattern>/*</url-pattern> ?
    ? ? ? ? ? </filter-mapping> ?
    ? ?
    ? 3)完成. ?
    ? ?
    ? 2 ? get方式的解決辦法 ?
    ? 1) ? 打開tomcat的server.xml文件,找到區塊,加入如下一行: ?
    ? URIEncoding=”GBK” ?
    ? 完整的應如下: ?
    ? ? ? ? ? <Connector ? ?
    ? port="80" ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? maxThreads="150" ? minSpareThreads="25" ? maxSpareThreads="75" ?
    ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? enableLookups="false" ? redirectPort="8443" ? acceptCount="100" ?
    ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? debug="0" ? connectionTimeout="20000" ? ?
    ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? disableUploadTimeout="true" ? URIEncoding="GBK" ? /> ?
    ? ?
    ? 2)重啟tomcat,一切OK。 ?
    ? ?
    ? 執行如下jsp頁頁測試是否成功 ?
    ? ?
    ? ?
    ? <%@ ? page ? contentType="text/html;charset=gb2312"%> ?
    ? <%@ ? page ? import="java.util.*"%> ?
    ? <% ?
    ? ? ? ? ? String ? q=request.getParameter("q"); ?
    ? ? ? ? ? q ? = ? q ? == ? null? ? "沒有值" ? : ? q; ?
    ? %> ?
    ? <HTML> ?
    ? <HEAD><TITLE>新聞列表顯示</TITLE> ?
    ? <META ? http-equiv=Content-Type ? content="text/html; ? charset=gb2312"> ?
    ? <META ? http-equiv=pragma ? content=no-cache> ?
    ? </HEAD> ?
    ? ?
    ? <body> ?
    ? 你提交了: ?
    ? <%=q%> ?
    ? <br> ?
    ? <form ? action="tcnchar.jsp" ? method="post"> ?
    ? 輸入中文:<input ? type="text" ? name="q"><input ? type="submit" ? value="確定"> ?
    ? <br> <a ? href="tcnchar.jsp?q=中國">通過get方式提交</a> ?
    ? </form> ?
    ? </BODY> ?
    ? </HTML> ?
    ? ?
    ? 測試結果如果你輸入文本框或者點超鏈都會顯示:你提交了”中國”,說明成功!!!!!??
    posted on 2007-07-10 09:32 Kimi 閱讀(3538) 評論(0)  編輯  收藏 所屬分類: Java
    主站蜘蛛池模板: 国产亚洲精品美女久久久| 亚洲综合日韩中文字幕v在线| 好湿好大好紧好爽免费视频| 亚洲大尺度无码专区尤物| 可以免费看的卡一卡二| 一区二区三区精品高清视频免费在线播放| 久久精品国产精品亚洲色婷婷| 最近的中文字幕大全免费版| 一级人做人a爰免费视频| 亚洲欧洲尹人香蕉综合| 免费一看一级毛片人| 亚州免费一级毛片| 二级毛片免费观看全程| ww亚洲ww在线观看国产| 亚洲中文字幕无码一区| 在线免费观看毛片网站| 免费网站看av片| 免费一级毛suv好看的国产网站 | 一级毛片免费视频网站| 亚洲乱码无限2021芒果| 亚洲综合伊人久久大杳蕉| 手机在线看永久av片免费| 一区二区三区无码视频免费福利| 亚洲妇女无套内射精| 国产亚洲精品美女久久久| 又粗又黄又猛又爽大片免费| 国产福利在线观看免费第一福利| 三根一起会坏掉的好痛免费三级全黄的视频在线观看 | 一区二区三区免费精品视频| 最新亚洲卡一卡二卡三新区| 亚洲AV无码久久精品狠狠爱浪潮 | 亚洲黄网在线观看| 国产午夜亚洲精品午夜鲁丝片| 午夜神器成在线人成在线人免费 | 国产h视频在线观看网站免费| 国产区在线免费观看| 亚洲AV综合永久无码精品天堂| 亚洲欧洲日产国码二区首页| 亚洲国产精品嫩草影院在线观看 | 国产精品亚洲四区在线观看| 久久丫精品国产亚洲av不卡 |