本程序需要四个页面
第一个login.htm用户登录表单
第二个login_check登录检查页 数据库验证,成功跳转到成功页,失败跳转到失败页。
第三个登录成功页第四个登录失败页
login.htm
1 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> 2 <%@page contentType="text/html" pageEncoding="GBK"%> 3 <html> 4 <head> 5 <title> 内蒙古大学网上银行</title> 6 </head> 7 <body> 8 <center> 9 <h1>登录操作</h1> 10 <hr> 11 <form action="login_check.jsp" method="post"> 12 <table border="1"> 13 <tr> 14 <td colspan="2">用户登录</td> 15 </tr> 16 <tr> 17 <td>用户名: </td> 18 <td><input type="text" name="name"></td> 19 </tr> 20 <tr> 21 <td>登录密码: </td> 22 <td><input type="password" name="password"></td> 23 </tr> 24 <tr> 25 <td colspan="2"> 26 <input type="submit" value="登录"> 27 <input type="reset" value="重置"> 28 </td> 29 </tr> 30 </table> 31 </form> 32 </center> 33 </body> 34 </html>
login_check.jsp
1 <%@ page contentType="text/html" pageEncoding="GBK"%> 2 <%@ page import="java.sql.*"%> 3 <html> 4 <title>我的数据库</title> 5 <body> 6 <%! 7 public static final String DBDRIVER="org.gjt.mm.mysql.Driver";//定义数据库驱动程序 8 public static final String DBURL="jdbc:mysql://localhost:3306/testweb"; //数据库连接地址 9 public static final String DBUSER="root"; //用户名 10 public static final String DBPASS="473028458"; //连接密码 11 12 %> 13 <% 14 Connection conn=null; //声明数据库连接对象 15 PreparedStatement pstmt=null; //声明数据库操作 16 ResultSet rs=null; //声明数据库结果集 17 boolean flag=false; //标志位 18 String name=null; //接受用户真实姓名 19 %> 20 <% 21 try { 22 //数据库操作中出现异常,所以要使用try。。。catch处理 23 Class.forName(DBDRIVER);//加载驱动程序 24 conn=DriverManager.getConnection(DBURL,DBUSER,DBPASS);//取得数据库连接 25 // 编写要使用的SQL语句,验证登录信息是否正确,若正确,则取出姓名 26 String sql="SELECT name FROM user WHERE name=? AND password=?"; 27 28 pstmt=conn.prepareStatement(sql);//实例化preparedStatement对象 29 pstmt.setString(1,request.getParameter("name")); //设置所要查询内容 30 pstmt.setString(2,request.getParameter("password")); //设置所要查询内容 31 rs=pstmt.executeQuery();//执行查询操作 32 while(rs.next()){ //如果表里只1条记录 使用if(rs.next())取值 多条 使用while(rs.next() 33 name=rs.getString(1); //取出真实姓名 2表示取出第二列内容 也可用“name” 34 flag=true; //修改标志位若为true 则表示登陆成功 35 } 36 %> 37 <% 38 }catch(Exception e){ 39 System.out.println("数据库连接出错请仔细检查");//向Tomcat中打印 40 } 41 finally{ //程序的统一出口 42 try{rs.close(); //关闭结果集 43 pstmt.close();//关闭操作 44 conn.close();//关闭连接 45 }catch(Exception e){} 46 } 47 %> 48 <% 49 if(flag){ 50 %> 51 52 <jsp:forward page="sucsess.jsp"> 53 <jsp:param name="uname" value="<%=name%>"/> 54 </jsp:forward> 55 <% 56 }else{ 57 %> 58 <jsp:forward page="failure.htm"/> 59 60 61 <% 62 } 63 %> 64 </body> 65 </html>
登录成功页
1 <%@pagecontentType="text/html" pageEncoding="GBK"%> 2 <h1>登陆操作</h1><hr> 3 <h2>登录成功</h2> 4 <h2>欢迎<font color="blue"><%=request.getParameter("uname")%></font>光临</h2>
登录失败页
<%@page language="java" contentType="text/html" pageEncoding="GBK"%> <html> <head><title>银行</title></head> <body> <center> <h1>登录失败</h1> <h2>请重新登录<a href="login.html">登录</a>!</h2>