Servlet连接数据库实现用户登录的实现示例

目录
  • 一、需求:
  • 二、先复习一下JDBC
    • 1.概述:
    • 2.开发步骤:
  • 三、代码实现:
    • 1.登录界面代码:
    • 2.登录成功界面:
    • 3.servlet代码:
    • 4.数据库数据
    • 5.登录成功页面:
    • 6.登录失败界面:
    • 7.登录界面:

做一个小案例顺便复习一下jdbc的知识

一、需求:

用户在浏览器输入用户名和密码,如果数据库中有数据,提醒用户登录成功,如果没有数据,提醒用户重新登录

二、先复习一下JDBC

今天用的时候有些细节忘了,知识还是需要多次复习啊,并不是说学过就是自己的。

1.概述:

用java程序操作数据库的一个技术,是java程序连接数据库的一套标准,本质上就是一堆API。

2.开发步骤:

2.1.导jar包:

对于java项目,直接将jar包复制到项目然后解析jar(add as library)就可以用了;对于web项目,需要将jar包放到tomcat的lib目c录下,在web项目中,当Class.forName(“com.mysql.jdbc.Driver”);时idea是不会去查找字符串,不会去查找驱动的。所以只需要把mysql-connector-java-5.1.7-bin.jar拷贝到tomcat下lib目录就可以了。今天这里出了问题,找到这种解决方案。

2.2.步骤:具体步骤都在代码里

注册驱动—>

Class.forName(“com.mysql.jdbc.Driver”);

获取连接—>

String url = “协议://IP地址:端口号/数据库的名字/”;
String url = “jdbc:mysql://localhost:3306/person”;
Connection c = DriverManager.getConnection(url, “root”, “root”);

写sql语句—>

String sql = "select * from user where name = and pwd = ";

获取传输器—>

PreparedStatement preparedStatement = connection.prepareStatement(sql);

设置值—>

preparedStatement.setObject(1,username);
preparedStatement.setObject(2,pwd);

获取结果集—>

ResultSet resultSet = preparedStatement.executeQuery();

解析结果集—>

resultSet.next()

三、代码实现:

1.登录界面代码:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>用户登录界面</title>
</head>
<body>
<h3 style="text-align: center">用户登录</h3>
 <form action="userLogin" method="post" style="text-align: center" >
     用户名:<input type="text" name="username"><br/>
     <br/>
     密&nbsp;&nbsp;&nbsp;&nbsp;码:<input type="password" name="pwd"><br/>
     <br>
     <input type="submit" value="提交">
 </form>
</body>
</html>

2.登录成功界面:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>成功登录界面</title>
</head>
<body>
<h1> 恭喜登录成功!!!</h1>
</body>
</html>

3.servlet代码:

package cn.tedu;

import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.sql.*;
//配置访问路径
@WebServlet(urlPatterns = "/userLogin")
public class ServletLogin extends HttpServlet {
    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        //1.解决中文乱码
        request.setCharacterEncoding("utf-8");
        response.setContentType("text/html;charset = utf-8");
        //2.获取用户输入的名字和密码
        String username = request.getParameter("username");
        String pwd = request.getParameter("pwd");
        Connection connection = null;
        PreparedStatement preparedStatement = null;
        ResultSet resultSet = null;
        //3.连接数据库
        try {
            //3.1注册驱动
            Class.forName("com.mysql.jdbc.Driver");
            //3.2获取连接
            String url = "jdbc:mysql://localhost:3306/person";
            connection = DriverManager.getConnection(url,"root","root");
            //3.3写sql
            String sql = "select * from user where name = ? and pwd = ?";
            //3.4获取传输器
            preparedStatement = connection.prepareStatement(sql);
            //3.5设置值
            preparedStatement.setObject(1,username);
            preparedStatement.setObject(2,pwd);
            //3.6返回结果集
            resultSet = preparedStatement.executeQuery();
            if (resultSet.next()){
                //重定位,如果结果返回true,"跳转"到success.html
                response.sendRedirect("success.html");
            }else{
                String urls = "login.html";
                response.getWriter().write("用户不存在"+""+"<a href = '"+urls+"'>点击重新登录</a>");
            }

        } catch (Exception e) {
            e.printStackTrace();
            //3.6关闭资源
        }finally {
            try {
                resultSet.close();
            } catch (SQLException e) {
                e.printStackTrace();
            }
            try {
                preparedStatement.close();
            } catch (SQLException e) {
                e.printStackTrace();
            }
            try {
                connection.close();
            } catch (SQLException e) {
                e.printStackTrace();
            }
        }
    }

    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {

    }
}

4.数据库数据

5.登录成功页面:

6.登录失败界面:

7.登录界面:

到此这篇关于Servlet连接数据库实现用户登录的实现示例的文章就介绍到这了,更多相关Servle 用户登录内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

  • jsp+dao+bean+servlet(MVC模式)实现简单用户登录和注册页面

    功能介绍 本项目通过使用jsp和servlet实现简单的用户登录.主要逻辑为: 如果用户不存在,则首先进行注册(注册信息同步到数据库中). 进行注册后,可进入登录页面对账号进行登录. 如果账号存在,则正确跳转到欢迎界面,否则提示用户账号信息输入错误. 用户进行登录页面时需要填写验证码同时可勾选是否两周内免登陆. 用户进入欢迎界面,则会显示这是用户第几次登录,如果不是第一次登录则会显示上次登录时间. 如果用户直接进入welcome,(没有进行登录,直接打开welcome.jsp)则会跳转到登录页面

  • JavaWeb实战之用Servlet+JDBC实现用户登录与注册

    一.前言 使用到的技术栈: (1)JDBC (2)Servlet (3)MySQL 二.准备工作 (1)书城用户数据库与表创建 (2)编写用户类对象JavaBean (3)编写JdbcUtils对数据库进行交互(使用德鲁伊数据库连接池) (4)编写web层 最终编写好的第二阶段登陆注册文件结构为 dao中定义了基础的操作数据库代码,具体功能有 1.Insert.update.delete(修改) 2.查询一个对象(返回一个对象) 3.查询一个数组对象(数组返回多个对象) 4.返回某一个特定值对象

  • servlet实现用户登录小程序

    当时在上JAVA课的时候,老师就给我们讲过SUN公司的servlet是一个典型的JAVA语言的应用.现在在上网络编程课的时候,终于接触到了这种服务器小程序. 现在我们就用servlet来简单实现一个用户登录的小程序. 首先,servlet也是一个JAVA类,新建一个JAVA类,它直接继承了HttpServlet类: @WebServlet(name = "ServletTest") public class ServletTest extends HttpServlet { @Over

  • JavaWeb实现用户登录注册功能实例代码(基于Servlet+JSP+JavaBean模式)

    下面通过通过图文并茂的方式给大家介绍JavaWeb实现用户登录注册功能实例代码,一起看看吧. 一.Servlet+JSP+JavaBean开发模式(MVC)介绍 Servlet+JSP+JavaBean模式(MVC)适合开发复杂的web应用,在这种模式下,servlet负责处理用户请求,jsp负责数据显示,javabean负责封装数据. Servlet+JSP+JavaBean模式程序各个模块之间层次清晰,web开发推荐采用此种模式. 这里以一个最常用的用户登录注册程序来讲解Servlet+JS

  • Servlet实现简单的用户登录功能实例代码

    1.创建html界面 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Title</title> </head> <body> <form action="" method="post"> 用户名:<input type=&

  • Servlet连接数据库实现用户登录的实现示例

    目录 一.需求: 二.先复习一下JDBC 1.概述: 2.开发步骤: 三.代码实现: 1.登录界面代码: 2.登录成功界面: 3.servlet代码: 4.数据库数据 5.登录成功页面: 6.登录失败界面: 7.登录界面: 做一个小案例顺便复习一下jdbc的知识 一.需求: 用户在浏览器输入用户名和密码,如果数据库中有数据,提醒用户登录成功,如果没有数据,提醒用户重新登录 二.先复习一下JDBC 今天用的时候有些细节忘了,知识还是需要多次复习啊,并不是说学过就是自己的. 1.概述: 用java程

  • 使用JSP实现简单的用户登录注册页面示例代码解析

    实验要求: 将实验2中的系统用户登录和注册页面改为JSP页面,并部署自己的Web应用于Tomcat服务器中 具体要求: 完成登录JSP页面设计和注册页面设计 在登录页面表单中使用request对象获取用户信息,建立新的JSP页面完成登录验证(用户名和密码自己指定即可). 验证结果显示(如登录成功/用户名密码错误,可以使用JavaScript,也可以使用新的JSP页面). 在注册页面表单中使用request对象获取用户注册信息(注册项目由自己指定),在新的JSP页面显示用户注册信息,并提示注册成功

  • JS使用cookie保存用户登录信息操作示例

    本文实例讲述了JS使用cookie保存用户登录信息.分享给大家供大家参考,具体如下: 通常cookie和session,是web开发中用于存储信息的对象,session存在于服务器的内存中,而cookie则是存在客户端,所以js可以直接操作cookie进行信息的存储和读取. js存放cookie一般的写法,如:document.cookie="userName=admin";,如果是多个键值对:document.cookie="userName=admin; userPass

  • PHP实现获取ip地址的5种方法,以及插入用户登录日志操作示例

    本文实例讲述了PHP实现获取ip地址的5种方法,以及插入用户登录日志操作.分享给大家供大家参考,具体如下: php 获取ip地址的5种方法,插入用户登录日志实例,推荐使用第二种方法 <?php //方法1: $ip = $_SERVER["REMOTE_ADDR"]; echo $ip; //方法2: $ip = ($_SERVER["HTTP_VIA"]) ? $_SERVER["HTTP_X_FORWARDED_FOR"] : $_SE

  • Django实现单用户登录的方法示例

    最近由于要毕业了写论文做毕设,然后还在实习发现已经好久都没有写博客了.今天由于工作需求,需要用Django实现单用户登录.大概意思就是跟QQ一样的效果,每个账号只能一个地方登录使用,限制账号的登录次数.由于用的是Django自带的认证,然后校验用户是否登录其实就是通过Session实现的.下面就简单分享一下怎么实现的吧. 单用户登录实现 在做用户登录认证的时候Django自带的有is_authenticated()方法.下面就是一个简单的认证过程. if request.user.is_auth

  • react使用mobx封装管理用户登录的store示例详解

    1.MobX 介绍 MobX 是一个简单.可伸缩的响应式状态管理库.通过 MobX 你可以用最直观的方式修改状态,其他的一切 MobX 都会为你处理好(如自动更新UI),并且具有非常高的性能.当状态改变时,所有应用到状态的地方都会自动更新. 1.1 React和Mobx关系 React 通过提供机制把应用状态转换为可渲染组件树并对其进行渲染.而MobX提供机制来存储和更新应用状态供 React 使用. 1.2 核心概念 State:驱动应用的数据 Computed values:计算值.如果你想

  • Spring Cloud Gateway 使用JWT工具类做用户登录校验功能

    1. JWT测试 /** * @Auther: csp1999 * @Date: 2021/01/24/19:29 * @Description: JWT测试 */ public class JwtTest { /** * 创建Jwt令牌: * * JWT = 头部Header + 载荷playload + 签名signature */ @Test public void testCreateJwt() { // 构建jwt令牌 // 1.头部Header: 描述关于该JWT的最基本的信息,例如

  • 关于JSP用户登录连接数据库详情

    目录 关于JSP用户登录连接数据库详情 1.首先创建po类 2.创建底层UserDao 3.创建UserService(一般都会调用UserDao) 4.写web层UserSrevlet 4.1 重写方法 4.2创建vo层并在里面创建ResultInfo类用于封装返回数据 5.开始从Dao开始写 6.开始写service层 7.编写最后的Servelt层 7.1 用户登陆 8.示例 关于JSP用户登录连接数据库详情 1.首先创建po类 与数据库一一对应 lombok生成get set方法 pac

随机推荐