package com.admin.filter;
import java.io.IOException;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
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 com.admin.entity.Admin;
import com.admin.utils.DBUtil;
import com.admin.utils.EncrtypeUtil;
public class AdminLoginFilter implements Filter {
/*
* 未写完
* */
@Override
public void destroy() {
// TODO Auto-generated method stub
}
@Override
public void doFilter(ServletRequest sq, ServletResponse srp,
FilterChain chain) throws IOException, ServletException {
HttpServletRequest request=(HttpServletRequest) sq;
HttpServletResponse response=(HttpServletResponse)srp;
String name=request.getParameter("admin_access");
String password=request.getParameter("admin_password");
String verifyCode=request.getParameter("verify_code_input");
if(name==null||password==null||verifyCode==null||!((String)request.getSession().getAttribute("verify_code")).equalsIgnoreCase(verifyCode)){
request.setAttribute("login_error_msg", "输入有误,请检查!!");
request.getRequestDispatcher("/WEB-INF/admin/admin-login-page.jsp").forward(request, response);
return ;
}
Admin admin=null;
Connection conn=null;
PreparedStatement ps=null;
ResultSet rs=null;
conn=DBUtil.getConnection();
String sql="select * from admin where name=? and password=?";
try {
ps=conn.prepareStatement(sql);
ps.setString(1, name);
ps.setString(2, EncrtypeUtil.getEncryptStr(password, "md5"));
rs=ps.executeQuery();
if(rs.next()){
admin=new Admin(rs.getString("name"), rs.getString("password"));
}
else{
request.setAttribute("login_error_msg","账号或密码有误,请检查" );
request.getRequestDispatcher("/WEB-INF/admin/admin-login-page.jsp").forward(request, response);
return;
}
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}finally{
DBUtil.close(rs, ps, conn);
}
request.getSession().setAttribute("admin", admin);
chain.doFilter(request, response);
}
@Override
public void init(FilterConfig arg0) throws ServletException {
}
}
import java.io.IOException;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
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 com.admin.entity.Admin;
import com.admin.utils.DBUtil;
import com.admin.utils.EncrtypeUtil;
public class AdminLoginFilter implements Filter {
/*
* 未写完
* */
@Override
public void destroy() {
// TODO Auto-generated method stub
}
@Override
public void doFilter(ServletRequest sq, ServletResponse srp,
FilterChain chain) throws IOException, ServletException {
HttpServletRequest request=(HttpServletRequest) sq;
HttpServletResponse response=(HttpServletResponse)srp;
String name=request.getParameter("admin_access");
String password=request.getParameter("admin_password");
String verifyCode=request.getParameter("verify_code_input");
if(name==null||password==null||verifyCode==null||!((String)request.getSession().getAttribute("verify_code")).equalsIgnoreCase(verifyCode)){
request.setAttribute("login_error_msg", "输入有误,请检查!!");
request.getRequestDispatcher("/WEB-INF/admin/admin-login-page.jsp").forward(request, response);
return ;
}
Admin admin=null;
Connection conn=null;
PreparedStatement ps=null;
ResultSet rs=null;
conn=DBUtil.getConnection();
String sql="select * from admin where name=? and password=?";
try {
ps=conn.prepareStatement(sql);
ps.setString(1, name);
ps.setString(2, EncrtypeUtil.getEncryptStr(password, "md5"));
rs=ps.executeQuery();
if(rs.next()){
admin=new Admin(rs.getString("name"), rs.getString("password"));
}
else{
request.setAttribute("login_error_msg","账号或密码有误,请检查" );
request.getRequestDispatcher("/WEB-INF/admin/admin-login-page.jsp").forward(request, response);
return;
}
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}finally{
DBUtil.close(rs, ps, conn);
}
request.getSession().setAttribute("admin", admin);
chain.doFilter(request, response);
}
@Override
public void init(FilterConfig arg0) throws ServletException {
}
}