欧美性猛交XXXX免费看蜜桃,成人网18免费韩国,亚洲国产成人精品区综合,欧美日韩一区二区三区高清不卡,亚洲综合一区二区精品久久

打開(kāi)APP
userphoto
未登錄

開(kāi)通VIP,暢享免費電子書(shū)等14項超值服

開(kāi)通VIP
struts2中文亂碼解決方法
終于在自己的項目中引入struts2了,但一上來(lái)就來(lái)一個(gè)中文亂碼的問(wèn)題。google了半天找了幾個(gè)不痛不癢的結果,很是不滿(mǎn)意。又調試了半天,終于 解決了中文亂碼的問(wèn)題??偨Y一下,中文亂碼,首先要區分是頁(yè)面亂碼、action亂碼,還是數據庫亂碼。大致的原理是java使用unicode編碼-- >window使用gbk(gb2312的擴展集)--mysql默認使用utf-8(unicode的一種編碼方法),這樣轉來(lái)轉去就亂碼了 ^_^。解決方法如下:
   1. 在struts2里面,最好將所有字符都設成utf-8。
<%@ page contentType="text/html; charset=UTF-8"%>
<%@ page pageEncoding="UTF-8" %>
 1.1 在jsp頁(yè)面設定字符編碼。這邊有必有說(shuō)明的是如果是jsp+java bean+servlet的方案,中文亂碼很好解決,統一設成gb2312就可以了。
    1.2 使用struts框架字符集不能設成gb2312,要改成utf-8。
   2. 在struts.properties 添加:

struts.devMode=false
struts.enable.DynamicMethodInvocation=true
struts.i18n.reload=true
struts.ui.theme=simple

struts.locale=zh_CN
struts.i18n.encoding=UTF-8

struts.serve.static.browserCache=false
struts.url.includeParams=none

其中locale、encoding就是字符集的設定了。

   3. 在web.xml加個(gè)filter

  <!-- zh-cn encoding -->
    <filter>
        <filter-name>struts-cleanup</filter-name>
        <filter-class>
            org.apache.struts2.dispatcher.ActionContextCleanUp
        </filter-class>
    </filter>  
    <filter-mapping>
        <filter-name>struts-cleanup</filter-name>
        <url-pattern>/*</url-pattern>
    </filter-mapping>

      跟上述方法,類(lèi)似還有在action中設定字符編符.


   HttpServletResponse response = null;
   response = ServletActionContext.getResponse();
   request.setCharacterEncoding("utf-8");
   response.setContentType("text/html;charset=utf-8");

 

 

    通過(guò)上述方法,基本就可以搞定中文亂碼的問(wèn)題了。當然,也有例外(如web server的版本\數據庫的版本等等)。象在我的一個(gè)項目碰到一個(gè)中文亂碼,tomcate5.5是會(huì )亂碼的,而在tomcate6中就不會(huì )。這邊就涉及到tomcate connector字符的設置了。

    <Connector port="80" maxHttpHeaderSize="8192"
               maxThreads="150" minSpareThreads="25" maxSpareThreads="75"
               enableLookups="false" redirectPort="8443" acceptCount="100"
               connectionTimeout="20000" disableUploadTimeout="true" URIEncoding="GBK"  />

 

--------------------------------------------------------------------

  后記之一:在使用struts2時(shí),仍是遇到一種亂碼。后來(lái)調試才發(fā)現,struts2的web.xml配置是有順序的。

   在web.xml中EncodingFilter的位置應該在Struts2的FilterDispatcher之前,因為要先調整字符集,然后進(jìn)入Action。

  按照Struts2的API,filter的順序是
struts-cleanup filter
SiteMesh filter
FilterDispatcher

--------------------------------------------------------------------

   后記之二:這個(gè)方法是下下策了,只有在前面的方法都無(wú)效時(shí)才使用。

在action中直接使用request.getParameter()時(shí);還是出現亂碼。原因分析如下:

   1、getParameter()是有帶字符參數的。例:

String s = (String)request.getParameter("txt").getBytes("iso-8859-1");

   2、String也可以帶有字符參數。

String(byte[] bytes, String charsetName) 
構造一個(gè)新的 String,方法是使用指定的字符集解碼指定的字節數組。

例:String s = new String("中文","utf-8");

   3、綜合上述兩點(diǎn),編寫(xiě)一個(gè)類(lèi)來(lái)完成此項任務(wù)

   public class ConvertCharacter{

        public String Convert(String s){

            String result;

            byte[] temp ;

            try{

                temp = s.getBytes("iso-8859-1");

                result =  new String(temp,"utf-8");

            }

            return result;

        }

   }

 

本站僅提供存儲服務(wù),所有內容均由用戶(hù)發(fā)布,如發(fā)現有害或侵權內容,請點(diǎn)擊舉報。
打開(kāi)APP,閱讀全文并永久保存 查看更多類(lèi)似文章
猜你喜歡
類(lèi)似文章
struts 向action里面傳入中文亂碼之解決方法
struts原理與實(shí)踐(4)
Struts2文件下載文件名中文出現亂碼解決辦法
struts處理中文亂碼問(wèn)題
form?get提交中文亂碼問(wèn)題
struts2.16 中文處理必須用過(guò)濾器
更多類(lèi)似文章 >>
生活服務(wù)
分享 收藏 導長(cháng)圖 關(guān)注 下載文章
綁定賬號成功
后續可登錄賬號暢享VIP特權!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服

欧美性猛交XXXX免费看蜜桃,成人网18免费韩国,亚洲国产成人精品区综合,欧美日韩一区二区三区高清不卡,亚洲综合一区二区精品久久