<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
    主站蜘蛛池模板: 九九久久国产精品免费热6| 国产成人亚洲精品无码AV大片| 亚洲精品无码MV在线观看| 中文亚洲AV片在线观看不卡 | 久久精品国产亚洲av高清漫画 | 美女被爆羞羞网站免费| 国产亚洲漂亮白嫩美女在线| 成人在线视频免费| 亚洲日韩国产一区二区三区| 亚洲成a人片在线观看中文动漫| 在线观看亚洲AV日韩AV| 一本到卡二卡三卡免费高| 亚洲人成网站在线观看青青| www一区二区www免费| 成人免费看片又大又黄| 亚洲一卡2卡3卡4卡5卡6卡| 最新仑乱免费视频| 美女视频黄a视频全免费网站色 | 亚洲欧洲日本精品| 一级做a免费视频观看网站| 亚洲人妻av伦理| 久久99精品视免费看| 在线A级毛片无码免费真人| 亚洲精品成人无限看| 亚欧免费一级毛片| 亚洲AV综合色区无码二区爱AV| 国产免费区在线观看十分钟 | 久久久久精品国产亚洲AV无码| 成人午夜18免费看| 二级毛片免费观看全程| 日韩免费a级在线观看| 亚洲综合一区二区国产精品| 欧洲精品成人免费视频在线观看| 亚洲丝袜美腿视频| 99免费在线视频| 亚洲日本韩国在线| 久久午夜伦鲁片免费无码| 亚洲AV综合色区无码一区| 国产精品美女久久久免费| 亚洲美女色在线欧洲美女| 免费A级毛片无码视频|