当前位置: 首页 > news >正文

3月9日(用 DBHelper 工具连接 mysql 数据库 实现登录验证)

一. 用DBHelper 与mysql 连接 实现最简单的登录验证。

  (1)新建 web project ----->选择src导入 DBHelper 工具包-------->选择web root 下的 index.jsp 制作一个表单(用户名,密码连个提示框以及按钮)-------->用action将这个页面提交到login.jsp进行用户名和密码的正确性验证。具体操作代码如下:

1. index.jsp

 <body>

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

    用户名:<input type="text" name="username"><br>

    密&nbsp;码:<input type="password" name="pwd"><br>

     <input type="submit" name="提交" value="登录">

    </form>

  </body>

2. Login.jsp

(在这个环节中,需要注意导入DBHelper,ResultSet工具包,否则将要报错;数据库中的表名“users”要与sql中的表名一致 ,字段名“username”“password”也一样要统一,并将这两个参数传过去给结果集ResultSet,最后判断rs是否存在于数据库中)

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

<%@ page language="java" import="java.util.*,DBHelper.*" pageEncoding="UTF-8"%>

<html>

  <head>

  </head>

  <body>

  <%

  String sql="select * from users where username =? and password=?";

  String user=request.getParameter("username");

  String pwd=request.getParameter("pwd");

  Object[] obj=new Object[]{user,pwd};

  ResultSet rs = DBHelper.getResultSet(sql, obj);

  if(rs.next())

    out.print("登录成功!");

    else

    out.print("登录失败");

    rs.close();

   %>

  </body>

</html>

3.users表

   

注:users表中有username , password两个字段名,并且名字与 login.jsp中request方式得到的参数名一致。并且里面有一条记录:“username”:admin;“password”:123。

(2)开始运行(调试)在地址栏访问首页

 1.当在“用户名”的文本框中输入“Jack”、“Linda”等字段名,或者在密码框中输入“aaa”、“111”等字段名时,会出现“登录失败”的提示语句;

结果显示:

 

 2.只有输入数据库中仅有的用户名“admin”和密码“123”时,系统会出现“登录成功!”,此时也就意味着验证成功了!

结果:

 

转载于:https://www.cnblogs.com/LindaBlog/p/5259957.html

相关文章:

  • python socket编程入门(编写server实例)+send 与sendall的区别与使用方法
  • POJ - 1170 Shopping Offers (五维DP)
  • IE兼容问题,各类css hack代码(亲测有效)
  • 一分钟了解阿里云产品:云数据库MongoDB版
  • eclipse部署Tomcat6 : The server does not support version 3.0 of the JEE Web module specification
  • 一行代码判断是否移动端
  • 结构型模式--装饰模式
  • launch文件概述---1
  • Python 修行摘要二
  • 安卓学习UI组件-Menu-选项菜单-上下文菜单-弹出式菜单
  • PHP学习笔记(3)-Zend Studio安装和汉化
  • mode(思维,注意内存)
  • 给新手的新浪微博 SDK 集成教程【一】
  • GDC2016【全境封锁(Tom Clancy's The Division)】对为何对应Eye Tracked System,以及各种优点的演讲报告...
  • [na]wac无线控制器集中转发部署的几种情况
  • (三)从jvm层面了解线程的启动和停止
  • 《Javascript数据结构和算法》笔记-「字典和散列表」
  • Apache Spark Streaming 使用实例
  • CentOS 7 防火墙操作
  •  D - 粉碎叛乱F - 其他起义
  • HTTP传输编码增加了传输量,只为解决这一个问题 | 实用 HTTP
  • JAVA SE 6 GC调优笔记
  • JavaScript 一些 DOM 的知识点
  • JavaScript-Array类型
  • Node 版本管理
  • node-glob通配符
  • python 学习笔记 - Queue Pipes,进程间通讯
  • Rancher-k8s加速安装文档
  • Stream流与Lambda表达式(三) 静态工厂类Collectors
  • v-if和v-for连用出现的问题
  • yii2中session跨域名的问题
  • 笨办法学C 练习34:动态数组
  • 持续集成与持续部署宝典Part 2:创建持续集成流水线
  • 聊聊spring cloud的LoadBalancerAutoConfiguration
  • 算法---两个栈实现一个队列
  • 栈实现走出迷宫(C++)
  • 阿里云服务器如何修改远程端口?
  • 容器镜像
  • ​【已解决】npm install​卡主不动的情况
  • ​业务双活的数据切换思路设计(下)
  • ###51单片机学习(1)-----单片机烧录软件的使用,以及如何建立一个工程项目
  • #162 (Div. 2)
  • (4)事件处理——(2)在页面加载的时候执行任务(Performing tasks on page load)...
  • (4)事件处理——(7)简单事件(Simple events)
  • (delphi11最新学习资料) Object Pascal 学习笔记---第2章第五节(日期和时间)
  • (Redis使用系列) Springboot 整合Redisson 实现分布式锁 七
  • (四)搭建容器云管理平台笔记—安装ETCD(不使用证书)
  • .cfg\.dat\.mak(持续补充)
  • .form文件_一篇文章学会文件上传
  • .NET LINQ 通常分 Syntax Query 和Syntax Method
  • .NET Standard 支持的 .NET Framework 和 .NET Core
  • .NET 同步与异步 之 原子操作和自旋锁(Interlocked、SpinLock)(九)
  • .NET/C# 中设置当发生某个特定异常时进入断点(不借助 Visual Studio 的纯代码实现)
  • .net2005怎么读string形的xml,不是xml文件。
  • .NET4.0并行计算技术基础(1)