实现目的:
1.在登录界面的身份选择和账号用户名密码输入后,可以自动率先判断账号密码是否正确,正确后会自动跳转到相应身份的界面
2.在判断账号密码错误后,会反馈给登录界面以告知用户输入信息的错误,算是一种反馈
3.在登录界面选择记住账号密码后,会自动保存这次的输入信息,方便使用
4.所输入的账号密码会根据你的身份选择而在数据库中自动搜索所对应的表里的数据而进行判断
5.在这里我选择用mysql作为数据库支撑,所对应的名称分别是student,teacher,admin的表名
实现代码:loginforword.jsp
<%@page import="javax.print.DocFlavor.STRING"%>
<%@page import="java.net.URLEncoder"%>
<%@page import="java.net.URL"%>
<%@ page language="java" import="java.util.*,java.sql.*" pageEncoding="utf-8"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>
<% String drivername = "com.mysql.jdbc.Driver";
String URL ="jdbc:mysql://localhost:3306/(数据库名)";
String USER_NAME = "(登录用户)";
String PASSWORD = "(登录密码)";
%>
<%
Connection con = null;
Statement st=null;
ResultSet rs=null;
try{
Class.forName(drivername);
con = DriverManager.getConnection(URL,USER_NAME,PASSWORD);
System.out.println("数据库连接成功");
}catch(Exception e){
System.out.println("数据库连接失败");
System.out.println(e.getMessage());
}
%>
<% request.setCharacterEncoding("utf-8") ;
String a=request.getParameter("kind");
String id=request.getParameter("id");
String a1=URLEncoder.encode(id,"utf-8");
String paw=request.getParameter("password");
String t="";
String sql = "";
String j = "";
if(a.compareTo("student")==0)
{t="student";
j="student";}
if(a.compareTo("teacher")==0)
{t="teacher";
j="teacher";}
if(a.compareTo("admin")==0)
{t="admin";
j="control";}
sql="select * from "+t+" where name='"+a1+"' and password='"+paw+"'";
try{
st=con.createStatement();
rs=st.executeQuery(sql);}
catch(Exception e){
System.out.println("读取数据失败!");
System.out.println(e.getMessage());}
if(rs!=null)
{session.setAttribute("id", id);
rs.close();
st.close();
con.close();
response.sendRedirect(j+".jsp");}
else
{rs.close();
st.close();
con.close();
response.sendRedirect("login.jsp?wang=0");}
/*if(a.equals("student"))
{ if(id.equals("王学生") && paw.equals("11"))
{session.setAttribute("id", id);
response.sendRedirect("student.jsp?id="+a1);}
else
{response.sendRedirect("login.jsp?wang=0");}}
if(a.equals("teacher"))
{ if(id.equals("王老师") && paw.equals("22"))
{session.setAttribute("id", id);
response.sendRedirect("teacher.jsp?id="+a1);}
else
{response.sendRedirect("login.jsp?wang=0");}}
if(a.equals("admin"))
{ if(id.equals("王管理") && paw.equals("33"))
{session.setAttribute("id", id);
response.sendRedirect("control.jsp?id="+a1);}
else
{response.sendRedirect("login.jsp?wang=0");}}*/
%>
<% String[] isUseCookie = request.getParameterValues("isUseCookie");
if(isUseCookie != null && isUseCookie.length>0){
request.setCharacterEncoding("utf-8");
String username=request.getParameter("id");
username=URLEncoder.encode(username,"utf-8");
String password=request.getParameter("password");
Cookie usernameCookie=new Cookie("username",username);
Cookie passwordCookie=new Cookie("password",username);
usernameCookie.setMaxAge(-1);
passwordCookie.setMaxAge(-1);
response.addCookie(usernameCookie);
response.addCookie(passwordCookie);
}
else
{ Cookie[] cookie=request.getCookies();
if(cookie!=null && cookie.length>0){
for(Cookie c:cookie){
if(c.getName().equals("id")||
c.getName().equals("password")){
c.setMaxAge(0);
response.addCookie(c);}
}
}
}%>