导航菜单
路很长,又很短
博主信息
昵   称:Cocodroid ->关于我
Q     Q:2531075716
博文数:293
阅读量:575160
访问量:54029
至今:
×
云标签 标签球>>
云标签 - Su的技术博客
博文->>首页 博主的更多博文>>
在Jetty开发不会出现乱码,而项目部署在Tomcat出现乱码
Tags : Jetty,Tomcat,乱码发表时间: 2014-11-02 09:45:23
原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 、作者信息和本声明。否则将追究法律责任。
比如: 转自:Su的技术博客  原文地址:

        在开发SpringMVC项目时,使用的Jetty作为Web服务器开发时,不会出现乱码,但是当我部署到Tomcat却出现了乱码,百思不得其解!原因是为什么呢?

        从昨晚搞到今天早上才总算弄出原因了。

        第一:我都在Tomcat加上编码UTF-8,但是还是不起作用

                URIEncoding="utf-8"

        第二:检查数据库编码

                全部为:UTF-8,还是乱码

        第三:在后台接收数据时,使用

                new String(article.getTitle().getBytes("iso8859-1"),"UTF-8");

                发现这个能够解决乱码,也就是可以确定后台起初接收到的字符编码为ISO8859-1,但是不能总是在后台这样处理吧?@!!!

                所以,你会想到什么?对,就是过滤器,在web.xml添加过滤器。

        第四:我发现我的web.xml文件已经有字符编码过滤器,为什么还是会出现乱码?为什么???

                网上找资料说,加上:

        <init-param>
            <param-name>forceEncoding</param-name>
            <param-value>true</param-value>
        </init-param>

        但是,不起作用!

        仔细看看web.xml文件,发现,里面使用的过滤器可不少啊,所以我想到我是不是位置放错了???!!!!

        一调整位置,再次进行测试,这次正常了!!!!

        原来就是:

        过滤器位置要紧挨着SpringMVC的过滤器,并且得让他们放在最前面,这样才能真正起到过滤的作用,不然给其他过滤器过滤之后,后面的过滤器就没作用了。

        web.xml文件如下:

    <!-- Spring MVC -->
    <servlet>
        <servlet-name>blog</servlet-name>
        <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
        
    </servlet>
    <servlet-mapping>
        <servlet-name>blog</servlet-name>
        <url-pattern>/</url-pattern>
    </servlet-mapping>
    <!-- 字符编码UTF8 -->
    <filter>
        <filter-name>CharacterFilter</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>
        <init-param>
            <param-name>forceEncoding</param-name>
            <param-value>true</param-value>
        </init-param>
    </filter>
    <filter-mapping>
        <filter-name>CharacterFilter</filter-name>
        <url-pattern>/*</url-pattern>
    </filter-mapping>

    <filter>
        <filter-name>loginFilter</filter-name>
        <filter-class>com.verysu.blog.web.LoginFilter</filter-class>
    </filter>
    <filter-mapping>
        <filter-name>loginFilter</filter-name>
        <url-pattern>/admin/*</url-pattern>
    </filter-mapping>




    

打赏
打赏
关注公众号
公众号
类别:Java| 阅读(1943)| 赞 (2)
评论
#12014-11-02 10:11:12
匿名 [210.38. *] 说:
不错!!!

#22014-11-02 10:11:54
匿名 [210.38. *] 说:
学习学习。

#32015-01-25 12:54:22
匿名 [61.242. *] 说:
之前解决了,现在又遇到这同样问题,太好了!

发表评论
昵  称:

验证码:

内  容:

    同时赞一个 赞