編碼過濾器:
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);
}
}
}