Servlet和JDBC的登陆实现应用

本文详细介绍了如何使用Java、MySQL和JDBC在Web应用中实现基本的登陆验证功能,包括前期准备、数据库操作、代码实现及实际测试。通过新建项目、配置jar包、构建servlet和jsp文件,最终实现用户登陆验证。

时间:2015/4/16

标签:JAVA、MySQL、JDBC

涉及知识:JDBC、Servlet、jsp

 

一、前期准备:

由于涉及JDBC的应用则需要在工程中添加对应的jar包。以下是添加过程

右键-->  Properties -->  Java Build Path -->  Libraries --> Add External Jar --> 选择对应的包


 

二、在数据库中建立相应的数据表

为了方便,我直接使用现成的表,登陆名就用name,密码就直接使用对应的grades


 

三、新建项目

由于只实现简单的登陆验证功能,所以只需要一个jsp和一个servlet文件即可实现。

1.首先新建一个javaweb项目,直接修改jsp文件

以下为代码(只修改了body内的内容):

 

 

 <body>
 
       <form action="/ServletTest/servlet"method="post">
                用户名:<input type="text"name="text" /><br>
                密码:<input type="password"name="password" /><br>
                <input type="submit"  value="登陆" />
       </form>
      
  </body>

 

在这里action中对应的地址是我们待会需要构建的servlet的地址。

 

2.在src下建包并添加Servlet文件

以下是代码:

package com.lc.servlet;
 
import java.awt.HeadlessException;
import java.io.IOException;
import java.io.PrintWriter;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.Statement;
 
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
importjavax.servlet.http.HttpServletRequest;
importjavax.servlet.http.HttpServletResponse;
import javax.swing.JOptionPane;
 
import com.lc.JDBCOperator.Operator;
 
public class ServletTest extendsHttpServlet {
 
 
         publicvoid doGet(HttpServletRequest request, HttpServletResponse response)
                            throwsServletException, IOException {
                   Stringtext = request.getParameter("text");
                   Stringpassword = request.getParameter("password");
                   try{
                            Class.forName("com.mysql.jdbc.Driver");
                            //加载驱动:加载了mysql的驱动
                           
                            Connectioncon=null;
                            //建立连接,依靠JDBC规范中的DriverManager获取连接Connection
                           
                            con=DriverManager.getConnection("jdbc:mysql://localhost:3306/new_demo","root","123");
                            System.out.println(con);
                           
                            Stringsql="select * from stu";
                            //创建一个sql语句
                            Statementst=con.createStatement();
                            System.out.println(st);
                            //表示数据库结果集的数据表,通常通过执行查询数据库的语句生成。
                            ResultSetrs=st.executeQuery(sql);
                            System.out.println(rs);
int i=0;
                            while(rs.next())
                            {
                                     Stringname=rs.getString("name");
                                     Stringgrades=rs.getString("grades");
                                     if(name.equals(text)&& grades.equals(grades)){
                                     i=1;
                                     JOptionPane.showMessageDialog(null,"登陆成功!");
                            }
If(i=0){
                            JOptionPane.showMessageDialog(null,"登陆失败!");
                            }       
                   }
                   catch(Exceptione)
                   {
                            e.printStackTrace();
                   }
         }
 
         publicvoid doPost(HttpServletRequest request, HttpServletResponse response)
                            throwsServletException, IOException {
                            doGet(request,response);
         }
}


由于代码里已有注释,不在多做说明。

 

四、实际测试

在此,我们使用alex为登录名,98为密码


然后故意输错

 

总结:实现了简单的查询功能,以后会再发一篇文章,会实现更复杂的功能。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值