📄 loginfilter.java
字号:
/*
* Created on 2005-11-30
*
* TODO To change the template for this generated file go to
* Window - Preferences - Java - Code Style - Code Templates
*/
package com.rainbow.util.login;
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;
/**
* 验证用户是否登录过,如果没有则跳转到登录的URL.
* @author Rainbow MMS Platform Leader -- TrWorks
*
*/
public class LoginFilter implements Filter {
private String loginPage = "login.html";
private String loginDoPage = "login.action";
/* (non-Javadoc)
* @see javax.servlet.Filter#init(javax.servlet.FilterConfig)
*/
public void init(FilterConfig arg0) throws ServletException {
}
/* (non-Javadoc)
* @see javax.servlet.Filter#doFilter(javax.servlet.ServletRequest, javax.servlet.ServletResponse, javax.servlet.FilterChain)
*/
public void doFilter(ServletRequest arg0, ServletResponse arg1,
FilterChain arg2) throws IOException, ServletException {
HttpServletRequest hr = (HttpServletRequest) arg0;
HttpServletResponse hrs = (HttpServletResponse) arg1;
// 判断现在是否是登陆页面,如果不是就要判断用户是否已经登陆了
System.out.println("URL: " + hr.getRequestURI());
if (hr.getRequestURI().endsWith(loginPage) == false &&
hr.getRequestURI().endsWith(loginDoPage) == false){
String isLogin = (String)hr.getSession().getAttribute("IsLogin");
// 如果没有登陆,则返回到登陆页面
if ("yes".equals(isLogin) == false){
hrs.sendRedirect(this.loginPage);
}
else{
arg2.doFilter(hr, hrs);
}
}
else{
arg2.doFilter(hr, hrs);
}
}
/* (non-Javadoc)
* @see javax.servlet.Filter#destroy()
*/
public void destroy() {
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -