Servlet学习——@WebInitParam注解方式在过滤器实现编码转换

@WebInitParam注解方式在过滤器实现编码转换

在@WebFilter中添加注解代码:

@WebInitParam(name = “charSet”, value = “utf-8”)
如:

@WebFilter(filterName="Filter",urlPatterns="/*", initParams = {
        @WebInitParam(name = "noLoginPaths", value = "index.jsp;fail.jsp;/LoginServlet"),
        @WebInitParam(name = "charSet", value = "utf-8")
        })

使用config.getInitParameter()方法得到,@WebInitParam中的名为charSet的value(utf-8),再使用requesst.setCharacterEncoding()设置转换编码。

如:

        /*
         * //解决中文编码乱码问题
        request.setCharacterEncoding("utf-8");
        */

        //解决乱码问题升级版,使用注解方式
        String charSet = config.getInitParameter("charSet");
        if(charSet==null||"".equals(charSet))//判断charSet是否为空防止意外错误
        {
            charSet="utf-8";
        }
        request.setCharacterEncoding(charSet);
原文地址:https://www.cnblogs.com/famine/p/9124722.html