<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
    主站蜘蛛池模板: 国产大片免费网站不卡美女| 三年片免费高清版| 国内免费高清在线观看| 亚洲精品国产成人| 真人做人试看60分钟免费视频| 666精品国产精品亚洲| 91九色老熟女免费资源站| 亚洲婷婷天堂在线综合| h视频在线免费看| 亚洲综合校园春色| 成年人在线免费看视频| 亚洲国产欧美国产综合一区 | 日本免费人成网ww555在线| 亚洲国产一成人久久精品| 拍拍拍无挡视频免费观看1000 | 免费看韩国黄a片在线观看| 国产AV旡码专区亚洲AV苍井空| 免费看美女让人桶尿口| 特级毛片A级毛片免费播放| 亚洲日韩中文字幕在线播放| 日韩免费在线视频| 亚洲av专区无码观看精品天堂 | 无码日韩精品一区二区三区免费| 亚洲电影一区二区三区| 日韩欧毛片免费视频 | 99久久免费国产特黄| 亚洲国产精品免费视频| 99精品全国免费观看视频| 国产综合成人亚洲区| 亚洲av伊人久久综合密臀性色 | 亚洲国产成人久久精品影视| 99久久国产热无码精品免费| 看免费毛片天天看| 亚洲∧v久久久无码精品 | 亚洲人成色77777在线观看大| 好久久免费视频高清| 久久综合久久综合亚洲| 亚洲午夜福利717| 性xxxx视频播放免费| 99视频在线观看免费| 久久国产亚洲精品|