用户登录程序实现

来源:互联网 发布:2016年数据分析大赛 编辑:程序博客网 时间:2024/05/04 21:54

这篇文章的作用就是实现用户登录程序

基本语法:

<%@page%>、<%@include%>、<jsp:include>、<jsp:forward>。

既然现在的JSP可以进行数据库的连接操作了,那么就具备了动态WEB开发的一个能力了。


在实际中所有的用户登录的操作必然都保存在数据表之中,用户输入用户名和密码,进行验证,如果正确,则表示登录成功;如果不正确,则表示登录失败。


创建数据库表的结构如下所示:

DROP TABLE user ; -- 删除表

CREATE TABLE user(

     userid VARCHAR(30)     PRIMARY KEY ,

     name VARCHAR(30) NOT NULL ,

     password  VARCHAR(32) NOT NULL 

) ;


INSERT INTO user(userid,name,password) VALUES ('admin','administrator','admin') ;

在数据库中执行此命令后的结果如下所示:



查询user表的内容如下:


需要的JSP页面

1. Login.jsp:提供用户的登录表单,可以输入用户id和密码。

2. Login_check.jsp:登录检查页,根据表单提交过来的id和密码进行数据库验证,成功则跳转到登录成功也,否则跳转到登录失败页。

3. Login_success.jsp:登录成功页,显示欢迎信息。

4. Login_failure.jsp:登录失败页,提示用户输入错误,并提供重新登录的超链接。


没有Java代码的JSP程序可以直接换为html格式的。

动态和静态页面相互分开,一定可以提升一部分的性能,因为动态程序需要WEB容器支持,而静态页面不需要,速度要快。


【login.jsp的页面内容如下:】

<%@page contentType="text/html" pageEncoding="GBK"%>

<html>

<head><title>登录</title></head>

<body>

<center>

<h1>登录操作</h1>

<hr>

   <form action="login_check.jsp" method="post">

       <table border="1">

       <tr>

           <td colspan="2">

              用户登录

           </td>

       </tr>

       <tr>

           <td>登录ID:</td>

           <td><input type="text" name="id"></td>

       </tr>

       <tr>

           <td>登录密码:</td>

           <td><input type="password" name="password"></td>

      </tr>

      <tr>

           <td colspan="2">

               <input type="submit" value="登录">

               <input type="reset" value="重置">

           </td>

      </tr>

      </table>

  </form>

</center>

</body>

</html>


【login_check.jsp的页面内容如下:】

<%@page contentType="text/html" pageEncoding="GBK"%>

<%@page import="java.sql.*"%>

<html>

<head><title>登录</title></head>

<body>

<center>

<h1>登录操作</h1>

<hr>

<%! //定义若干个数据库的连接常量

    public static final String DBDRIVER = 

    "org.gjt.mm.mysql.Driver";

    public static final String DBURL = 

    "jdbc:mysql://localhost:3306/skewrain";

    public static final String DBUSER = "root";

    public static final String DBPASS = "mysqladmin";

%>

<%

    Connection conn = null; //数据库连接

    PreparedStatement pstmt = null;  //数据库预处理操作

    ResultSet rs = null;    //查询要处理的结果集

    boolean flag = false;   //保存标记

    String name = null;     //保存真实姓名

%>

<%

try{

%>

<%  

    Class.forName(DBDRIVER);

    conn = DriverManager.getConnection(DBURL,DBUSER,DBPASS);

    String sql = "SELECT name FROM user WHERE userid=? AND password=?";

    pstmt = conn.prepareStatement(sql);  //pstmt实例化  

    //注意此时是prepareStatement而不是preparedStatement!

    pstmt.setString(1,request.getParameter("id"));

    pstmt.setString(2,request.getParameter("password"));

    rs = pstmt.executeQuery(); //查询

    if(rs.next()){  //如果有数据则可以执行

    flag = true;//表示登录成功

    name = rs.getString(1);

}

%>

<%

}catch(Exception e){

    e.printStackTrace();

}

finally{

try{

    rs.close();

    pstmt.close();

    conn.close();

}catch(Exception e1){}

}

%>

<% 

    if(flag){  //登录成功

%>

       <jsp:forward page="login_success.jsp">

       <jsp:param name="uname" value="<%=name%>"/>

   </jsp:forward>

<%

    }else{     //登录失败

%>

   <jsp:forward page="login_failure.jsp"/>

<%

}

%>

</center>

</body>

</html>


【login_success.jsp的页面内容如下:】

<%@page contentType="text/html" pageEncoding="GBK"%>

<html>

<head><title>登录</title></head>

<body>

<center>

<h1>登录操作</h1>

<h2>登录成功</h2>

<h2>欢迎<font color="blue"><%=request.getParameter("uname")%></font>光临!</h2>

</center>

</body>

</html>

 

【login_failure.jsp的页面内容如下:】

<%@page contentType="text/html" pageEncoding="GBK"%>

<html>

<head><title>登录</title></head>

<body>

<center>

<h1>登录操作</h1>

<h2>登录失败,请重新<a href="login.jsp">登录</a>!</h2>

</center>

</body>

</html>


在WEB容器中打开login.jsp的结果如下所示:


输入用户ID:admin和密码:admin之后点击“登录”的结果如下:【登录成功界面】


输入用户ID:admin和密码:abc之后点击“登录”的结果如下:【登录失败界面】


点击“登录”超链接可以进行重新登录。


小结:

本程序综合使用了JSP+JDBC进行开发,展示了一个简单的登录程序,本程序做为一个程序开发的基本模型,在日后的开发中会继续不断完善。

0 0
原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 在部队干活的钱怎么办 新兵5公里超过标准时间怎么办 17个月婴儿裹手怎么办 7个月婴儿裹手怎么办 俩月孩子裹手怎么办 婴儿 3个月 裹手怎么办 一岁宝宝裹手怎么办 5个月宝宝裹手怎么办 不想让孩子裹手怎么办 四个月宝宝裹手怎么办 开车撞狗了跑了怎么办 母螃蟹抱卵了怎么办 我能怎么办我也想睡觉 一个人的微信群找不到了怎么办 一个人的微信被删了找不到了怎么办 不想回对方微信怎么办 喜欢我的人太多怎么办 假如战争今夜打响我们该怎么办 约客户客户说忙怎么办 第一天来姨妈痛怎么办 痛经痛的很厉害怎么办 工作第一天被辞怎么办 第一天练车紧张怎么办 到新公司第一天怎么办 我妈上班别人欺负怎么办 欺负别人他妈来找了怎么办 家人都欺负我妈怎么办 人老了日不动了怎么办? 日照职业技术学院公租房怎么办留宿 眼镜上沾了胶水怎么办 近视镜片刮花了怎么办 墨镜镜片磨花了怎么办 邻居养狗味道大怎么办 邻居不让养狗了怎么办 养狗地板有味道怎么办 狗狗嘴巴被大狗咬肿了怎么办 花了钱心里难受怎么办 狗在屋里有味道怎么办 养狗家里有异味怎么办 养狗房子有味道怎么办 狗身上有腥臭味怎么办