环境: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&characterEncoding=utf-8
即:
jdbc:mysql://localhost:3306/logistichm?useUnicode=true&characterEncoding=utf-8
1 <property name="url"> 2 <value>jdbc:mysql://localhost:3306/logistichm?useUnicode=true&characterEncoding=utf-8 3 4 </value> 5 </property>