JSP和JDBC实现用户的登陆

本文详细介绍了使用JSP实现用户登录功能的过程,包括数据库连接、表单提交验证、成功与失败页面跳转等关键步骤。通过具体代码示例展示了如何将用户输入的ID和密码与数据库中的信息进行比对,实现登陆验证,并提供了相应的成功和失败页面。此外,还讨论了动态页面与静态页面的区别,以及如何通过JSP技术提升网页性能。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

<body>
  
    <h2>登陆失败了 ,请重新<a href="Load.jsp">登陆</a></h2> <br>
  </body>

             基本语法:<%@page%><%@include%><jsp: include><jsp: forward>已经学过了,而且JSP可以进行数据库的连接操作,那么就可以进行web开发

      既然要想登陆,首先要有表,在实际中所有的用户登陆的操作都必须保存在数据表中,用户输入用户名和密码。进行验证、如果正确则表示登陆成功,如果不正确则登陆失败。

    首先启动数据库  建立一个用户表

nameuseridpassword
tlh111222lll

 

    其中的原理就是,用户根据的实际的表单输入用户名和密码,之后提交到一个页面上进行验证,验证是从数据库中查出来的。如果验证成功则跳转到成功页,如果登陆失败,则跳转到失败页面上去。完成这个程序需要四个页面:Login.jsp 提供用户登陆的表单。可以输入用户名密码   Login_check.jsp 登陆检查页,根据表单提交过来的id和密码进行数据库 的验证,成功则跳转到成功页面失败则跳转到失败页面       Login_success.jsp 登陆成功页表示欢迎页

Login_failure.jsp 登陆失败页   并提供重新登陆的超链接。

    登陆界面提供表单

  <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>

 登陆表单出来后,提交到Login.jsp  在此页面 首先是连接数据库

<body>
  <% 
  String id=request.getParameter("id");
 String pwd=request.getParameter("password"); 
 out.print(id+pwd);
 %>
  <center>
  <h1>登陆操作</h1>
    <hr>
  <!--  -->
  <%! //定义若干个数据库的连接常量
      public static final String DBDRIVER=
     "com.mysql.jdbc.Driver";
     public static final String DBURL=
     "jdbc:mysql://localhost:3306/test";
     public static final String DUSER="root";
     public static final String DBPASS="";
      %>
       <%
        Connection conn=null ;//数据库连接
        PreparedStatement pstmt=null;//数据库预处理
        ResultSet rs=null;//查询要处理的结果集
        boolean flag=false;//保存标记
        String name=null;//保存真实姓名
       %>
         <%try{ %>
         
         <%  name=request.getParameter("id"); %>
       <% 
      
       Class.forName(DBDRIVER);
          conn=DriverManager.getConnection(DBURL,DUSER,DBPASS);
       String sql="SELECT name FROM loaduser WHERE userid=? AND password=?";
//进行实例化
       pstmt=conn.prepareStatement(sql);
       pstmt.setString(1,name);
       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 e){
      }
       } %>
      <% if (flag){
      
      out.print("llll"); //登陆成功  注意标签指令应该写在哪里  %>
      
       <jsp:forward page="Login_success.jsp" >
       <jsp:param value="<%=name%>" name="uname"/>
       </jsp:forward>
       
      <%} else{//登陆失败
      %>
             <jsp:forward page="Login_failure.jsp"/>
    
             
      <%} %>
  </center>
 

如果登陆成功的话直接跳转到Login_success.jsp

<body>
    <h2>欢迎<font color="red"><%=request.getParameter("uname") %></font>
   guanglin</h2>

 失败的话则跳转到Login_failure.jsp页面

 

<body>
  
    <h2>登陆失败了 ,请重新<a href="Load.jsp">登陆</a></h2> <br>
  </body>

 当然  我们可以把Load和Login_failure页面可以换成HTML页面   动态和静态相分开会提升页面,因为动态页面需要WEb容器而静态的不需要会快一些。

    这样就做成了一个登陆界面结合JDBC.

 


 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值