spingMVC问题小结

环境:Eclipse10、Tomcat7

项目:spingMVC+hibernate+mysql

编码:前台和数据库同一编码:UTF-8

编程语言:java

一、后台传值乱码问题。

    1.jsp传数据到后台post方式中文乱码。

          web.xml文件加入下面代码,即可解决post方式传值的乱码问题。

          

 1 <filter> 
 2   <filter-name>encodingFilter</filter-name> 
 3   <filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class> 
 4   <init-param> 
 5     <param-name>encoding</param-name> 
 6     <param-value>UTF-8</param-value> 
 7   </init-param> 
 8   <init-param> 
 9     <param-name>forceEncoding</param-name> 
10     <param-value>true</param-value> 
11   </init-param> 
12 </filter> 
13 <filter-mapping> 
14   <filter-name>encodingFilter</filter-name> 
15   <url-pattern>/*</url-pattern> 
16 </filter-mapping>

    2、jsp传数据到后台get方式中文乱码。

二、js文件乱码问题。

      1.选中js文件,右键属性,将编码改为UTF-8.

      2.jsp页面:<script src="${ctx}/view/js/login.js"  type="text/javascript" charset=UTF-8></script>

      PS:

            1.src也可使用绝对路径

             2.${ctx}后台传送的数据为:String ctx=request.getContextPath();

三、样式问题。

        将下面代码加入springMVCServlet-servlet.xml。

       

1     <mvc:annotation-driven  />    
2     <mvc:resources mapping="/view/css/**" location="/view/css/" />
3     <mvc:resources mapping="/view/images/**" location="/view/images/" />
4     <mvc:resources mapping="/view/js/**" location="/view/js/" />
5         <mvc:resources mapping="/kaptcha/**" location="/kaptcha/" />

       例:某CSS路径为  /Logistic/view/css/admin.css

       则location="/view/css/"   mapping="/view/css/**"

       前台页面:<LINK href="/Logistic/view/css/admin.css" type="text/css" rel="stylesheet" charset=UTF-8>

       Logistic为项目名

      

四 、扫描java包。

          将下面代码加入springMVCServlet-servlet.xml。

         

1        <context:component-scan base-package="com.controller" />
2        <context:component-scan base-package="org.cric.util" />

        第一行:扫描"com.controller"下面的所有带@Controller的文件,包括"com.controller.login"下面的所有带@Controller的文件

        第二行:扫描"org.cric.util"下面的所有带@Controller的文件




五、数据库接收中文数据。

           applicationContext.xml内

            jdbc:mysql://localhost:3306/logistichm
加入下面代码:
            ?useUnicode=true&amp;characterEncoding=utf-8
即:
            jdbc:mysql://localhost:3306/logistichm?useUnicode=true&amp;characterEncoding=utf-8

       

1     <property name="url">
2             <value>jdbc:mysql://localhost:3306/logistichm?useUnicode=true&amp;characterEncoding=utf-8
3         
4             </value>
5         </property>
原文地址:https://www.cnblogs.com/maduar/p/4281774.html