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

📄 loginfilter.java

📁 在线考试系统
💻 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 + -