栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

过滤器中request 包装 tomcat7 乱码处理后 servlet 跳转 空白页

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

过滤器中request 包装 tomcat7 乱码处理后 servlet 跳转 空白页

一下是过滤器处理tomcat 7 乱码问题

@WebFilter("
    class MyWapper extends HttpServletRequestWrapper {

        // 定义成员变量 HttpServletRequest对象 (提升构造器中request对象的作用域)
        private HttpServletRequest request;

        
        public MyWapper(HttpServletRequest request) {
            super(request);

            this.request = request;
        }

        
        @Override
        public String getParameter(String name) {
            // 获取参数 (乱码的参数值)
            String value = request.getParameter(name);
            // 判断参数值是否为空
            if (StrUtil.isBlank(value)) {
                return value;
            }
            // 通过new String()处理乱码
            try {
                value = new String(value.getBytes("ISO-8859-1"), "UTF-8");
            } catch (Exception e) {
                e.printStackTrace();
            }
            return value;
        }
    }


    @Override
    public void destroy() {

    }
}
注意:高版本的chrome 浏览器默认编码是utf-8,tomcat7 的那一段判断版本的代码可以去掉,因为request.setCharacterEncoding("UTF-8")就已经设置成了编码解码方式,和浏览器一样,所以在取值的时候不会乱码。

 注意:在获取request对象中的属性的时候,可以先判断是否为空,抛出异常,这样页面空白或者无法访问时容易定位bug位置。

注意:在filter 中请求转发只要复合过滤规则还会再次进入过滤器,再一次的条件注意要与请求转发的条件不同,避免死循环。

tomcat 空白页 没有任何信息的原因最有可能是:提交到的servlet 的参数缺省,或者是servlet里没有写收到请求并处理请求的对应函数。
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/715792.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号