ssh框架jsp乱码问题

在尝试使用ssh框架时,之前的javaee小项目能够正常的运行并且页面中文也正常显示,但是添加ssh框架之后,页面上的中文全部显示成???,jsp页面的
<%@ page contentType="text/html;charset=UTF-8" language="java" pageEncoding="utf-8" %>也都添加(因为之前能够正常显示所以认为是配置的原因),
后来打开web-info下的web.xml,发现过滤器的配置如下

    <filter>
        <filter-name>struts2</filter-name>
        <filter-class>org.apache.struts2.dispatcher.filter.StrutsPrepareAndExecuteFilter</filter-class>
    </filter>

    <filter-mapping>
        <filter-name>struts2</filter-name>
        <url-pattern>/*</url-pattern>
    </filter-mapping>
    
    <filter>
        <filter-name>encoding</filter-name>
        <filter-class>filter.EncodingFilter</filter-class> //自己的编码过滤器(spring有自带的,因为之前写了就继续使用)
    </filter>

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

后来对换了两个filter的位置,中文就可以正常显示......
然后得知在名为struct2(org.apache.struts2.dispatcher.filter.StrutsPrepareAndExecuteFilter)的过滤器之后配置
的filter对action都不会起作用(没有亲自验证,欢迎大家讨论交流)。所以应该调换两个filter的位置,使得编码过滤器能够正常执行。
对于org.apache.struts2.dispatcher.filter.StrutsPrepareAndExecuteFilter之后有时间会再学习。

(本文如有不对的地方,欢迎指正)


imccl
186 声望8 粉丝