📄 characterencodingfilter.java
字号:
package commons;
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;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
import org.apache.struts.beanaction.ActionContext;
public class CharacterEncodingFilter implements Filter
{
private FilterConfig filterConfig;
// 锟斤拷始锟斤拷锟斤拷息锟斤拷锟斤拷锟斤拷filterConfig锟斤拷锟斤拷
public void init(FilterConfig filterConfig) throws ServletException
{
this.filterConfig = filterConfig;
}
// Process the request/response pair
public void doFilter(ServletRequest request, ServletResponse response,
FilterChain filterChain)
{
try
{
HttpServletRequest httpRequest = (HttpServletRequest) request;
HttpServletResponse httpResponse = (HttpServletResponse) response;
String encoding = filterConfig.getInitParameter("encoding");
httpRequest.setCharacterEncoding(encoding);
httpResponse.setCharacterEncoding(encoding);
String currentURL = httpRequest.getRequestURI();
String targetURL = currentURL.substring(currentURL.indexOf("/",1),currentURL.length());
//用户登陆检验
HttpSession session = httpRequest.getSession();
if (!"/jsp/login.jsp".equals(targetURL)) {
//判断当前页是否是重定向以后的登录页面页面,如果是就不做session的判断,防止出现死循环
if ( (session == null) || (session.getAttribute("userName") == null) ) {
//*用户登录以后需手动添加session
session.setAttribute("notLogin", true);
httpResponse.sendRedirect(httpRequest.getContextPath() + "/jsp/login.jsp");
//如果session为空表示用户没有登录就重定向到login.jsp页面
return;
}
}
filterChain.doFilter(request, response);
} catch (ServletException sx)
{
filterConfig.getServletContext().log(sx.getMessage());
} catch (IOException iox)
{
filterConfig.getServletContext().log(iox.getMessage());
}
}
// 锟酵凤拷锟斤拷源
public void destroy()
{
this.filterConfig = null;
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -