過濾器參考

編碼過濾器:

package com.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;
/**
 * 編碼過濾器
 * 
 * 
 * @author wushengxin
 * 
 */
public class EncodingFilter implements Filter {

    public void destroy() {
        // TODO Auto-generated method stub

    }
    /**
     * 設置request和response的編碼類型爲utf-8
     * 
     * 
     */
    public void doFilter(ServletRequest req, ServletResponse res,
            FilterChain chain) throws IOException, ServletException {
        req.setCharacterEncoding("UTF-8");
        res.setCharacterEncoding("UTF-8");
        chain.doFilter(req, res);

    }

    public void init(FilterConfig arg0) throws ServletException {
        // TODO Auto-generated method stub

    }

}

struts過濾器:

package com.filter;

import java.io.IOException;

import javax.servlet.FilterChain;
import javax.servlet.ServletException;
import javax.servlet.ServletRequest;
import javax.servlet.ServletResponse;
import javax.servlet.http.HttpServletRequest;

import org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter;
/**
 * struts過濾器
 * 
 * 
 *@author wushengxin 
 * 
 */
public class StrutsFilter extends StrutsPrepareAndExecuteFilter {

    @Override
    /**
     * 判斷是否爲鏈接是否爲struts
     * 
     *
     * 
     * 
     */
    public void doFilter(ServletRequest req, ServletResponse res,
            FilterChain chain) throws IOException, ServletException {

        HttpServletRequest request = (HttpServletRequest) req;
        String requestURI = request.getRequestURI();

        if (requestURI.indexOf("/servlet") != -1) {
            // 是一個Servlet
            chain.doFilter(request, res);

        }else if (requestURI.indexOf("/ueditor") != -1) {
                chain.doFilter(request, res);
        } else {
            /**
             * 調用StrutsPrepareAndExecuteFilter中的Action過濾器
             */
            super.doFilter(req, res, chain);
        }
    }

}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章