<url-pattern>/*</url-pattern>

解决方案 »

  1.   

    在<head></head>中加入:<meta http-equiv="Content-Type" content="text/html;charset=gb2312">
    在取数据和存数据的地方加入:request.setCharacterEncoding( "GB2312 "); 
      

  2.   

     就上面的问题肯定有问题: 1.首先看看数据库默认的字符集是否支持中文.
     2.<set-property   property= "url "      value= "jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=attacksolution; "/> 
    应加入参数:<param name=useUnicode>true</param>
              <param name="characterEncoding">gbk</param>
     
    本人很长时间的总结解决乱码问题,和大家分享!struts2和中的中文乱码问题

    1. 在src中建立属性文件struts.properties,把如下内容放入:
        struts.devMode=false   struts.enable.DynamicMethodInvocation=true   struts.i18n.reload=true   struts.ui.theme=simple   struts.locale=zh_CN   struts.i18n.encoding=gbk   struts.serve.static.browserCache=false   struts.url.includeParams=none
       #有许多人说struts.i18n.encoding=utf-8,经多次验证不行,必须改为gbk.
    2.在web.xml中加入如下过滤器代码如下:
        <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>
      <!--注意,这个过滤器和原有过滤器的不存在先后问题(网上有人提出,其实是不正确的)-->
    二.mysql中文乱码问题
     1.在MySQL Server 5.x程序路径中找到my.ini文件,这是mysql配置文件,有许多mysql server的默认属性.
       用记事本打开,使default-character-set=utf-8.这样建表时,就不必考虑字符属性.
    三.javaweb中与mysql数据库交互时乱码问题:    连接数据库 String uri = "jdbc:mysql://127.0.0.1:[3306]/database?useUnicode=true&characterEncoding=gbk".
      以上时我使用的总结,并多次试验,均成立.