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

📄 loginfilter.java

📁 这是一个简单的java网站工程
💻 JAVA
字号:
package com.weihaixia.stumanage.filter;

import java.io.IOException;
import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.Hashtable;
import java.util.Iterator;

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 com.weihaixia.stumanage.bean.Administrator;
import com.weihaixia.stumanage.bean.Teacher;
import com.weihaixia.stumanage.control.Check_login_Servlet;
import com.weihaixia.stumanage.manage.AdministratorManage;
import com.weihaixia.stumanage.manage.TeacherManage;

public class LoginFilter implements Filter{
	
	private Hashtable ht;
	private ResultSet rs;
	private String level = null;
	private String name = null;
	private String pwd = null;
	
	public void destroy() {
		// TODO Auto-generated method stub
		
	}

	public void doFilter(ServletRequest request, ServletResponse response,
			FilterChain chain) throws IOException, ServletException {
		
		HttpServletRequest req = (HttpServletRequest) request;
		HttpServletResponse  resp= (HttpServletResponse) response;
		HttpSession session = req.getSession();
		
		level = (String)session.getAttribute("level");
		name = (String)session.getAttribute("uname");
		pwd = (String)session.getAttribute("upwd");
		
		forLogin();
		Iterator it = ht.keySet().iterator();
		
		
		if(it.hasNext()) {
			if (ht.containsKey(name) == true
					&& ht.containsValue(pwd) == true) {
				System.out.println("登录成功");
				chain.doFilter(request, response);
				//break;
			} else {
				System.out.println("登录失败");
				session.setAttribute("strMessage", "用户名或密码错误!");
				resp.sendRedirect("../errorPage.jsp");
			}
			
		}

		
	}
	
	public void init(FilterConfig arg0) throws ServletException {
		// TODO Auto-generated method stub
		
	}
	
	public void forLogin() {
		if(level.equals("admin"))
		{
			ht = new Hashtable();
			AdministratorManage adminManager = new AdministratorManage();
			Administrator admin = new Administrator();
			admin.setAName(name);
			admin.setAPassword(pwd);
			try {
				rs = adminManager.check(admin);
			} catch (SQLException e1) {
				// TODO Auto-generated catch block
				e1.printStackTrace();
			}
			
		try {
			while (rs.next()) {
				name  = rs.getString(2);
				pwd = rs.getString(3);
				ht.put(name, pwd);
			}
		} catch (SQLException e) {
			// TODO 自动生成 catch 块
			e.printStackTrace();
		} finally {
			try {
				rs.close();
			} catch (SQLException e) {
				// TODO Auto-generated catch block
				e.printStackTrace();
			}
		}
		}
		else if(level.equals("teacher")){
			ht = new Hashtable();
			TeacherManage teacherManager = new TeacherManage();
			Teacher teacher = new Teacher();
			teacher.setTName(name);
			teacher.setTPassword(pwd);
			try {
				rs = teacherManager.check(teacher);
			} catch (SQLException e1) {
				// TODO Auto-generated catch block
				e1.printStackTrace();
			}
			try {
				while (rs.next()) {
					name = rs.getString(2);
					pwd = rs.getString(4);
					ht.put(name,pwd);
				}
			} catch (SQLException e) {
				// TODO 自动生成 catch 块
				e.printStackTrace();
			} finally {
				try {
					rs.close();
				} catch (SQLException e) {
					// TODO Auto-generated catch block
					e.printStackTrace();
				}
			}
		}
	}

}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -