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

📄 loginfilter.java

📁 Ajax开发精要 Ajax开发精要 Ajax开发精要
💻 JAVA
字号:
package com.manning.ajaxinaction.portal;import java.io.IOException;import java.io.Writer;import java.sql.Connection;import java.sql.ResultSet;import java.sql.SQLException;import java.sql.Statement;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;public class LoginFilter implements Filter {  public void init(FilterConfig config)   throws ServletException { }  public void doFilter(    ServletRequest request,     ServletResponse response,    FilterChain filterChain)   throws IOException, ServletException {    boolean accept=false;  	HttpSession session=((HttpServletRequest)request).getSession();  	User user=(User)(session.getAttribute("user"));  	if (user==null){  	  accept=login(request);	  	}else{  	  accept=true;	  	}  	if (accept){  	  filterChain.doFilter(request,response);  	}else{  	  Writer writer=response.getWriter();  	  writer.write(JSUtil.getLoginError());  	  writer.flush();  	  writer.close();  	}  }  private boolean login(ServletRequest request){  	String user=request.getParameter("username");  	String password=request.getParameter("password");    User userObj=findUser(user,password);    if (userObj!=null){   	  HttpSession session=((HttpServletRequest)request).getSession(true);      session.setAttribute("user",userObj);	    }    return (userObj!=null);  }  private User findUser(String user, String password) {    User userObj=null;  	Connection conn=DBUtil.getConnection();  	try{  	  String sql="SELECT id FROM users WHERE username='"  	  	+user+"' AND password='"+password+"'";  	  Statement stmt=conn.createStatement();  	  ResultSet rs=stmt.executeQuery(sql);  	  if (rs.next()){  	  	int id=rs.getInt("id");  	  	userObj=new User(id,user);  	  }  	}catch (SQLException sqlex){  		  	}  	return userObj;  }  public void destroy() { }}

⌨️ 快捷键说明

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