zoukankan      html  css  js  c++  java
  • filter拦截器解决中文乱码问题

    拦截器的初始化配置方法:
        在web.xml文件当中添加下面的代码
    <filter>
            <filter-name>SetEncodeFilter</filter-name>
            <filter-class>com.pk.mylogin.filter.SetEncodeFilter</filter-class>
        </filter>
        <filter-mapping>
            <filter-name>SetEncodeFilter</filter-name>
            <url-pattern>/*</url-pattern>
        </filter-mapping>
    filter-name拦截器的名称,filter-class拦截器的java类,必须是包名+java名称;
    filter-mapping当中配置标签当中,filter-name必须和filter标签当中的name一致;
    url-pattern表示浏览器访问的地址
     
    1、filter当中对应的java类应当实现(implements)filter类,import javax.servlet.Filter;
        意filter类是哪个
    2、在dofilter方法当中添加下面的代码:
        request.setCharacterEncoding("utf-8");
        chain.doFilter(request, response);
    3、要想实现对post和get请求都有效那么在tomcat服务器修改配置文件添加
        
     
    具体的filter文件为:
    package com.pk.mylogin.filter;
    import java.io.IOException;
    import javax.servlet.Filter;
    import javax.servlet.FilterChain;
    import javax.servlet.FilterConfig;
    import javax.servlet.ServletException;
    import javax.servlet.ServletRequest;
    import javax.servlet.ServletResponse;
    public class SetEncodeFilter implements Filter {
        public void destroy() {
        }
        public void doFilter(ServletRequest request, ServletResponse response,
                FilterChain chain) throws IOException, ServletException {
            System.out.println("拦截器被调用");
                request.setCharacterEncoding("utf-8");
                chain.doFilter(request, response);
        }
        public void init(FilterConfig arg0) throws ServletException {
        }
    }
     
    也可以再filter当中控制没有登录的用户,自动跳转到登录页面
    在filter文件当中添加跳转
    User user = (User) request.getAttribute("user");
            if (user == null) {
                request.getRequestDispatcher("/login.jsp").forward(request, response);
                return ;
            }




  • 相关阅读:
    iOS应用程序的登录界面
    访问Mac下virtualbox中的win8.1虚拟机
    JASIG-CAS学习笔记——初探CAS
    跨域读取Cookies(续)
    跨域读取Cookies
    错误——无法找到com/* /* /**.xml
    设计模式学习之——简单工厂、工厂方法、抽象工厂方法
    spring+ibatis+dwr+ext项目整合
    SenchaTouch学习——form表单
    FLEX自定义事件
  • 原文地址:https://www.cnblogs.com/babyhhcsy/p/2985821.html
Copyright © 2011-2022 走看看