⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 characterencodingfilter.java

📁 本套系统采用了业界当前最为流行的beanAction组件
💻 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 + -