`

解决SSH项目中乱码的问题

 
阅读更多

乱码的问题一直是困扰开发者的大问题,在SSH框架中其实可以通过一个过滤器来解决乱码的问题,在项目的web.xml中添加过滤器如下:

<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.5" xmlns="http://java.sun.com/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">


<!-- Spring加载 -->
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>
classpath:conf/spring/applicationContext*.xml
</param-value>
</context-param>

<filter>
<filter-name>Open</filter-name>
<filter-class>
org.springframework.orm.hibernate3.support.OpenSessionInViewFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>Open</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>

<!-- Spring Security Filter部分 -->
<filter>
<filter-name>_filterChainProxy</filter-name>
<filter-class>org.springframework.web.filter.DelegatingFilterProxy</filter-class>
</filter>

<filter-mapping>
<filter-name>_filterChainProxy</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>

<!-- Character Encoding filter -->
<filter>
<filter-name>encodingFilter</filter-name>
<filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class>
<init-param>
<param-name>encoding</param-name>
<param-value>UTF-8</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>encodingFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>


<filter>
<filter-name>GZIPFilter</filter-name>
<filter-class>com.tacitknowledge.filters.gzipfilter.GZIPFilter</filter-class>
</filter>
<!-- GZIPFilter 设置自己想要压缩的文件类型-->
<filter-mapping>
<filter-name>GZIPFilter</filter-name>
<url-pattern>*.js</url-pattern>
</filter-mapping>

<filter-mapping>
<filter-name>GZIPFilter</filter-name>
<url-pattern>*.css</url-pattern>
</filter-mapping>

<!-- CacheFilter缓存定义 设置此项时tk-filters.properties的[color=blue]CacheFilter.Enabled=true[/color]才可用 -->
<filter>
<filter-name>CacheFilter</filter-name>
<filter-class>com.tacitknowledge.filters.cache.CacheHeaderFilter</filter-class>
</filter>
<!-- CacheFilter 设置自己想要缓存的文件类型-->
<filter-mapping>
<filter-name>CacheFilter</filter-name>
<url-pattern>*.gif</url-pattern>
</filter-mapping>
<filter-mapping>
<filter-name>CacheFilter</filter-name>
<url-pattern>*.jpg</url-pattern>
</filter-mapping>
<filter-mapping>
<filter-name>CacheFilter</filter-name>
<url-pattern>*.png</url-pattern>
</filter-mapping>
<filter-mapping>
<filter-name>CacheFilter</filter-name>
<url-pattern>*.js</url-pattern>
</filter-mapping>
<filter-mapping>
<filter-name>CacheFilter</filter-name>
<url-pattern>*.css</url-pattern>
</filter-mapping>

<filter>
<filter-name>struts2</filter-name>
<filter-class>org.apache.struts2.dispatcher.FilterDispatcher</filter-class>
<init-param>
<param-name>config</param-name>
<param-value>
struts-default.xml,struts-plugin.xml,
conf/struts/struts.xml
</param-value>
</init-param>
</filter>

<filter>
<filter-name>struts2-cleanup</filter-name>
<filter-class>org.apache.struts2.dispatcher.ActionContextCleanUp</filter-class>
</filter>
<filter-mapping>
<filter-name>struts2-cleanup</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>


<filter-mapping>
<filter-name>struts2</filter-name>
<url-pattern>*.do</url-pattern>
</filter-mapping>

<listener>
<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>

<!-- spring2.5监听 -->
<listener>
<listener-class>
org.springframework.web.context.request.RequestContextListener
</listener-class>
</listener>

<listener>
<listener-class>com.geoglobeportal.listener.ApplicationInitListener</listener-class>
</listener>

<servlet>
<servlet-name>proxyHandler</servlet-name>
<servlet-class>com.geoglobeportal.shareservice.service.ProxyHandler</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>proxyHandler</servlet-name>
<url-pattern>/proxyHandler</url-pattern>
</servlet-mapping>

<servlet>
<servlet-name>synchronizeSysContextServlet</servlet-name>
<servlet-class>
com.geoglobeportal.system.servlet.SynchronizeSysContextServlet
</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>synchronizeSysContextServlet</servlet-name>
<url-pattern>/synchronizeSysContextHandler</url-pattern>
</servlet-mapping>

<servlet>
<servlet-name>FileUploadServlet</servlet-name>
<servlet-class>com.geoglobeportal.datashare.service.FileUploadServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>FileUploadServlet</servlet-name>
<url-pattern>/FileUploadServlet.htm</url-pattern>
</servlet-mapping>

<servlet>
<servlet-name>FileDownServlet</servlet-name>
<servlet-class>com.geoglobeportal.datashare.service.FileDownServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>FileDownServlet</servlet-name>
<url-pattern>/FileDownServlet</url-pattern>
</servlet-mapping>

<servlet>
<servlet-name>Connector</servlet-name>
<servlet-class>net.fckeditor.connector.ConnectorServlet</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>

<servlet-mapping>
<servlet-name>Connector</servlet-name>
<url-pattern>
/fckeditor/editor/filemanager/connectors/*
</url-pattern>
</servlet-mapping>

<servlet>
<servlet-name>chart</servlet-name>
<servlet-class>
com.geoglobeportal.admin.log4j.jfree.eastwood.ChartServlet</servlet-class>
</servlet>

<servlet>
<servlet-name>RandCode</servlet-name>
<servlet-class>com.geoglobeportal.admin.authority.web.RandCode</servlet-class>
</servlet>

<servlet>
<servlet-name>proxy</servlet-name>
<servlet-class>com.geoglobeportal.admin.news.util.proxy</servlet-class>
</servlet>

<servlet-mapping>
<servlet-name>chart</servlet-name>
<url-pattern>/log4j/chart</url-pattern>
</servlet-mapping>

<servlet-mapping>
<servlet-name>RandCode</servlet-name>
<url-pattern>/RandCode</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>proxy</servlet-name>
<url-pattern>/servlet/proxy</url-pattern>
</servlet-mapping>

<mime-mapping>
<extension>xml</extension>
<mime-type>text/xml</mime-type>
</mime-mapping>

<mime-mapping>
<extension>xsl</extension>
<mime-type>text/xml</mime-type>
</mime-mapping>

<jsp-config>
<taglib>
<taglib-uri>/FCKeditor</taglib-uri>
<taglib-location>/WEB-INF/FCKeditor.tld</taglib-location>
</taglib>
<taglib>
<taglib-uri>http://www.changtusoft.cn/test/functions</taglib-uri>
<taglib-location>/WEB-INF/myfunctions.tld</taglib-location>
</taglib>
</jsp-config>


<welcome-file-list>
<welcome-file>index.jsp</welcome-file>
</welcome-file-list>

<error-page>
<error-code>404</error-code>
<location>/commons/notfound.jsp</location>
</error-page>

<error-page>
<error-code>500</error-code>
<location>/commons/error.jsp</location>
</error-page>

<error-page>
<error-code>403</error-code>
<location>/commons/accessDeny.jsp</location>
</error-page>
</web-app>

特别要注意的是字符过滤器一定要添加到struts框架过滤器的前面,这样这个过滤器才能对struts标签中的数据起作用

分享到:
评论

相关推荐

    关于MyEclipse5.5合成SSH后出现中文乱码的问题解决方法之一

    用MyEclipse5.5整合SSH之后出现的中文乱码问题的解决之一是我个人针对我这种出现乱码的方式的解决方法,我是以把错误的SSH包和正确的SSH包对比以显示差别

    ssh项目spring+stuts+hibernate+sql server 中文乱码解决方案_lj管用.txt

    ssh spring+stuts+hibernate+sql server 中文乱码解决方案_lj管用.txt

    处理Java的ssh集成中的中文乱码问题

    简单,易懂,利用过滤器和请求处理器来解决项目中的中文乱码问题

    jsch文件名中文乱码解决办法

    感谢你的下载,文件说明如下: *jsch的源文件 *jsch的依赖包 *用jsch源文件及依赖包构建的项目,便于修改其源码* ...如果乱码问题依然没解决,这个类也许能帮你找到你需要更改的编码类型。然后修改那三处地方。

    apache-tomcat-8.0.33中文自动解决GBK乱码问题

    而该工具可以自动解决UTF-8和GBK乱码的问题。 使用教程: 直接替换原先项目的Tomcat,将JavaWeb项目(Servlet、SSH、SSM框架的项目)直接部署到该Tomcat8中即可,无需做其他的额外的操作。 运行教程: 可以通过...

    向MySQL数据库存中文显示乱码

    没有遇到过存储的中文是乱码的情况,后来在ssh的项目中使用的是MySQL的项目,遇到了乱码的问题,只要向数据库中存储中文数据会是乱码,存储英文没有问题,小编通过研究了研究把这中问题总结了一下:  二、乱码解决...

    自己收集的SSH中的几个常见问题和解决方式

    我自己做项目中遇到了不少问题,现将其解决方法共享,大家探讨下: (1)解决MYSQL乱码问题 (2)传递参数中文乱码 (3)jsp导包问题 (4)Hibernate基于外键的查询方法 (5)Hibernate Session中的 flush方法的作用 (6)分析java....

    SSH框架——图书管理系统

    其中javascript向java类中传递值解决中文乱码问题是一个难点,该项目成功地解决了该问题。此外,组合查询时如何解决浏览器缓存也让我思考很久。希望它能够帮助到需要的人。另外,项目中的jar包是从官网下载最新后...

    数据库乱码的小技巧

    近用ssh框架和mysql数据库写项目的时候,老是出现中文乱码,根据网上的各种策略,使用spring自带的字符过滤器啊,设置页面编码啊,设置数据库编码啊都设置好为UTF-8了,还是出现中问乱码,后来在spring的配置文件...

    Intellij-IDEA-Tutorial-Smart:Intellij IDEA 中文教程

    搭建项目篇导入项目 总结导入eclipse项目(非maven,非gradle)导入maven项目导入gradle项目web项目集成Tomcatweb项目集成Jetty创建普通的Java SE项目创建SSH+Maven的web项目创建SSH+Gradle的web项目五.疑难杂症篇...

    TortoiseCVS海龟CVSforWin7完美兼容版本

    内置 Tortise CVS V1.10.10 + CVSNT2.5.03 SSH0.56 经测试 win7下可完美兼容 。解决win7下乱码问题,win7下检出模块checkout module 报错,not support ls。。。

    远程访问工具集合 - XShell 5、XFtp 5

    实际开发中,linux服务器是开发小组共享的,正式上线的项目运行在公网,因此程序员需要远程登录到centos进行项目管理或者开发。 常见的远程登录客户端有Xshell 、 Xftp等; ------------------ Xshell 是目前最好的...

    java web技术开发大全(最全最新)

    4.7.3 实例:解决服务端程序读取中文请求消息的乱码问题 4.7.4 实例:用AJAX技术发送和接收中文信息 4.7.5 实例:在请求消息头和响应消息头中转输中文 4.8 小结 第5章 JSP技术 5.1 用MyEclipse编写第一个...

    CRM系统jsp源码

    CRM系统jsp源码,本人学习是所开发。里面全面集成ssh框架,系统的结构层次比较清晰明了适合学习研究之用。对学习java的人,我想应该很有...里面功能的扩展接口依赖注入等都已实现,并且还有过滤器解决汉字乱码的问题。

    java web开发技术大全

    4.7.3 实例:解决服务端程序读取中文请求消息的乱码问题 4.7.4 实例:用AJAX技术发送和接收中文信息 4.7.5 实例:在请求消息头和响应消息头中转输中文 4.8 小结 第5章 JSP技术 5.1 用MyEclipse编写第...

    Git权威指南PDF完整版

    3.3.5 Cygwin 下 Git 访问 SSH 服务/ 41 3.4 Windows 下安装和使用 Git(msysGit篇)/ 45 3.4.1 安装 msysGit/ 46 3.4.2 msysGit 的配置和使用/ 48 3.4.3 msysGit中shell环境的中文支持/ 49 3.4.4 msysGit中Git的...

    Java Web编程宝典-十年典藏版.pdf.part2(共2个)

    3.4.2 解决中文乱码 3.4.3 获取客户端数据 3.5 response回应对象的应用 3.5.1 HTTP头信息的操作 3.5.2 设置MIME类型 3.5 13页面重定向操作 3.6 Session会话对象的应用 3.6.1 session的生命周期 3.6.2 会话的创建与...

Global site tag (gtag.js) - Google Analytics