📄 loginfilter.java
字号:
/**
*
*/
package exam.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;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpSession;
import org.apache.log4j.lf5.LogRecordFilter;
import exam.dao.User;
public class Loginfilter implements Filter {
public void destroy() {
}
public void doFilter(ServletRequest request, ServletResponse response,
FilterChain chain) throws IOException, ServletException {
request.setCharacterEncoding("UTF-8");
response.setCharacterEncoding("UTF-8");
HttpServletRequest httpRequest = (HttpServletRequest) request;
HttpSession session = httpRequest.getSession();
// 获得session,对session进行检测
String url = httpRequest.getRequestURI();
System.out.println("url: " + url);
// 获得url
String str[] = url.split("/");
String pic = null;
for (int i = 0; i < str.length; i++) {
System.out.println(str[i]);
}
// 根据url和session进行权限判断。
// 如果访问的是公开页面,则不拦截
if (str.length > 2) {
pic = str[2];
url = url.substring(url.lastIndexOf('/'));
if (url.equals("/index.jsp") || url.equals("/zhuce.jsp")||url.equals("/login.jsp")
|| pic.equals("style.css")) {
chain.doFilter(request, response);
} else {
// 如果不是公开页面
User user = (User) session.getAttribute("user");
if (null == user) {
request.getRequestDispatcher("/index.jsp").forward(request,
response);
} else {
System.out.println("helloworld");
chain.doFilter(request, response);
}
}
} else {
chain.doFilter(request, response);
}
}
public void init(FilterConfig arg0) throws ServletException {
}
public boolean isLoggable(LogRecordFilter arg0) {
// TODO Auto-generated method stub
return false;
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -