JSP用户登录程序实现

本程序需要四个页面

第一个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>
原文地址:https://www.cnblogs.com/anuo007/p/3578996.html