logonfilter.java
来自「JavaWeb高级特性书中源代码」· Java 代码 · 共 49 行
JAVA
49 行
package org.it315.filters;
import java.io.IOException;
import javax.servlet.Filter;
import javax.servlet.FilterChain;
import javax.servlet.FilterConfig;
import javax.servlet.ServletContext;
import javax.servlet.ServletException;
import javax.servlet.ServletRequest;
import javax.servlet.ServletResponse;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.RequestDispatcher;
import javax.servlet.http.HttpSession;
public class LogonFilter implements Filter
{
private FilterConfig filterConfig = null;
public void init(FilterConfig filterConfig) throws ServletException
{
}
public void doFilter(ServletRequest request,
ServletResponse response,FilterChain chain)
throws IOException, ServletException
{
HttpServletRequest req = (HttpServletRequest)request;
HttpSession session = req.getSession();
//如果用户没有登录,存储当前访问的页面路径后跳转到登录页面
if(session.getAttribute("logonUser") == null)
{
String requestURI = req.getRequestURI();
String contextPath = req.getContextPath();
String forwardURI = requestURI.substring(contextPath.length());
session.setAttribute("viewPage",forwardURI);
RequestDispatcher rd = req.getRequestDispatcher("/logon.jsp");
rd.forward(req,response);
}
else
{
chain.doFilter(request, response);
}
}
public void destroy()
{
}
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?