MVC框架实现用户登录注册功能(连接数据库)

这篇具有很好参考价值的文章主要介绍了MVC框架实现用户登录注册功能(连接数据库)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

目录

一、简单理解MVC框架

二、项目结构

三、项目源码

3.1 User

3.2 UserDao

3.3 RegisterDao

3.4 servletControll

3.5 servletControllRegister

3.6 web.xml

3.7 login.jsp

3.8 register.jsp

3.9 success.jsp

3.10 failure.jsp

 四、实现效果

总结

前言

本篇文章主要介绍利用MVC框架去实现一个简单的用户登录注册功能,内容主要以源码为主来介绍,目的是让大家成功搭建出此项目。项目使用SQL Server 数据库,需要导入sqljdbc4.jar包,jar包会在下面给大家提供。

一、简单理解MVC框架

经典MVC模式中,M是指业务模型,V是指用户界面,C则是控制器,使用MVC的目的是将M和V的实现代码分离,从而使同一个程序可以使用不同的表现形式。

其中,View的定义比较清晰,就是用户界面。Model即对数据进行逻辑处理的部分。Controller按照用户请求来选择对应的Model进行处理同时把处理结果返回到指定的jsp视图中,只是接收请求并决定调用哪个模型构件去处理请求,然后再确定用哪个视图来显示返回的数据。

二、项目结构

MVC框架实现用户登录注册功能(连接数据库)

三、项目源码

3.1 User

代码如下(示例):

public class User {
    // 封装实体类的JavaBean

    private String name;
    private String password;

    public User() {

    }

    // 构造方法用来传入数值
    public User(String name, String password) {
        this.name = name;
        this.password = password;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public String getPassword() {
        return password;
    }

    public void setPassword(String password) {
        this.password = password;
    }

}




3.2 UserDao

代码如下(示例):

import java.sql.*;


//处理业务逻辑的JavaBean
public class UserDao {

    public static int login(User user) {
        int flag = -1;
        String NAME = "sa";
        String PASSWORD = "123456";
        String URL = "jdbc:sqlserver://localhost:1433;databaseName=test";

        Connection connection = null;
        PreparedStatement pstmt = null;
        ResultSet rs = null;

        try {
            // 1、加载驱动
            Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
            // 2、建立连接
            connection = DriverManager.getConnection(URL, NAME, PASSWORD);

            // 3、操作数据库
            String sql = "select count(*) from admins where name=? and password=?";
            pstmt = connection.prepareStatement(sql);
            pstmt.setString(1, user.getName());
            pstmt.setString(2, user.getPassword());
            // 4、执行
            rs = pstmt.executeQuery();

            if (rs.next()) {
                flag = rs.getInt(1);
            }
            if (flag > 0) {// 登录成功
                return 1;
            } else {
                return 0;
            }

        } catch (ClassNotFoundException e) {
            e.printStackTrace();
            return -1;
        } catch (SQLException e) {
            e.printStackTrace();
            return -1;
        } catch (Exception e) {
            e.printStackTrace();
            return -1;
        } finally {

            try {
                if (rs != null) rs.close();
                if (pstmt != null) pstmt.close();
                if (connection != null) connection.close();
            } catch (SQLException e) {
                e.printStackTrace();
            } catch (Exception e) {
                e.printStackTrace();
            }
        }

    }

}

3.3 RegisterDao

代码如下(示例):

import java.sql.*;

//封装注册功能业务逻辑的JavaBean
public class RegisterDao {

    public static int register(User user) {
        int count = -1;
        String NAME = "sa";
        String PASSWORD = "123456";
        String URL = "jdbc:sqlserver://localhost:1433;databaseName=test";

        Connection connection = null;
        PreparedStatement pstmt = null;
        ResultSet rs = null;

        try {
            //1、加载驱动
            Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
            //2、连接
            connection = DriverManager.getConnection(URL, NAME, PASSWORD);
            //操作数据库
            String sql = "insert into admins values(?,?)";//插入数据
            pstmt = connection.prepareStatement(sql);
            pstmt.setString(1, user.getName());
            pstmt.setString(2, user.getPassword());

            count = pstmt.executeUpdate();
            return count;

        } catch (ClassNotFoundException e) {
            e.printStackTrace();
            return -1;
        } catch (SQLException e) {
            e.printStackTrace();
            return -1;
        } catch (Exception e) {
            e.printStackTrace();
            return -1;
        } finally {

            try {
                if (pstmt != null) pstmt.close();
                if (connection != null) connection.close();
            } catch (Exception e) {
                e.printStackTrace();
            }
        }


    }


}

3.4 servletControll

代码如下(示例):

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;


/**
 * Servlet implementation class servletControll
 */
@WebServlet("/servletControll")
public class servletControll extends HttpServlet {
    private static final long serialVersionUID = 1L;

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

        //取值
        request.setCharacterEncoding("utf-8");
        String name = request.getParameter("uname");
        String pwd = request.getParameter("upwd");
        //封装
        User user = new User(name, pwd);

        //调用业务逻辑层
        int result = UserDao.login(user);

        if (result > 0) {
            //登录成功
            response.sendRedirect("success.jsp");//重定向到成功界面
        } else {
            //登录失败
            response.sendRedirect("notsuccess.jsp");//定位到失败页面
        }
        //请求转发
    }

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

}

3.5 servletControllRegister

代码如下(示例):

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;


/**
 * Servlet implementation class servletControllRegister
 */
@WebServlet("/servletControllRegister")
public class servletControllRegister extends HttpServlet {
    private static final long serialVersionUID = 1L;

    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        //注册功能、、向数据库添加数据

        request.setCharacterEncoding("utf-8");
        String name = request.getParameter("uname");
        String pwd = request.getParameter("upwd");

        User user = new User(name, pwd);//保存客户端输入的信息

        int result = RegisterDao.register(user);
        if (result > 0) {
            //注册成功
            response.sendRedirect("login.jsp");
        } else {
            //注册失败重新注册
            response.sendRedirect("register.jsp");
        }
    }

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

}

3.6 web.xml

代码如下(示例):

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_4_0.xsd"
         version="4.0">
    <!-- 初始的页面 -->
    <welcome-file-list>
        <welcome-file>login.jsp</welcome-file>
    </welcome-file-list>
    <!-- 用户名和密码验证的servlet -->
    <servlet>
        <servlet-name>Login</servlet-name>
        <servlet-class>servletControll</servlet-class>
    </servlet>
    <servlet-mapping>
        <servlet-name>Login</servlet-name>
        <url-pattern>/user</url-pattern>
    </servlet-mapping>
    <!-- 显示欢迎的servlet -->
    <servlet>
        <servlet-name>Register</servlet-name>
        <servlet-class>servletControllRegister</servlet-class>
    </servlet>
    <servlet-mapping>
        <servlet-name>Register</servlet-name>
        <url-pattern>/register</url-pattern>
    </servlet-mapping>
</web-app>

3.7 login.jsp

代码如下(示例):

<%--
  Created by IntelliJ IDEA.
  User: 10504
  Date: 2022/5/17
  Time: 12:49
  To change this template use File | Settings | File Templates.
--%>
登录页面
<%@ page language="java" contentType="text/html; charset=UTF-8"
         pageEncoding="UTF-8" %>
<!DOCTYPE html>
<html>
<head>
    <meta charset="UTF-8">
    <title>登录页面</title>
</head>
<body>

<form action="servletControll" method="post">

    用户名:<input type="text" name="uname"/>
    密码:<input type="password" name="upwd"/><br><br>
    <input type="submit" value="登录"/>
    <input type="reset" value="重置"/>
    <a href="register.jsp">注册新用户</a>
</form>

</body>
</html>



3.8 register.jsp

代码如下(示例):

<%--
  Created by IntelliJ IDEA.
  User: 10504
  Date: 2022/5/17
  Time: 12:55
  To change this template use File | Settings | File Templates.
--%>
注册页面
<%@ page language="java" contentType="text/html; charset=UTF-8"
         pageEncoding="UTF-8" %>
<!DOCTYPE html>
<html>
<head>
    <meta charset="UTF-8">
    <title>注册页面</title>
</head>
<body>

<form action="servletControllRegister" method="post">

    用户名:<input type="text" name="uname"/>
    密码:<input type="password" name="upwd"/>
    <input type="submit" value="注册"/>
</form>

</body>
</html>



3.9 success.jsp

代码如下(示例):

<%--
  Created by IntelliJ IDEA.
  User: 10504
  Date: 2022/5/17
  Time: 13:29
  To change this template use File | Settings | File Templates.
--%>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
    <title>登录成功</title>
</head>
<body>
欢迎您的使用!
</body>
</html>

3.10 failure.jsp

代码如下(示例):

<%--
  Created by IntelliJ IDEA.
  User: 10504
  Date: 2022/5/17
  Time: 13:42
  To change this template use File | Settings | File Templates.
--%>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
    <title>登录失败</title>
</head>
<body>

</body>
</html>

四、实现效果

MVC框架实现用户登录注册功能(连接数据库)

MVC框架实现用户登录注册功能(连接数据库)

 MVC框架实现用户登录注册功能(连接数据库)MVC框架实现用户登录注册功能(连接数据库)

MVC框架实现用户登录注册功能(连接数据库)

总结

以上简单介绍了利用MVC框架实现用户登录注册功能的基本流程,具体的jsp界面只完成了功能,下去可以利用css技术渲染自己的界面。

有关数据库的问题,大家可以使用Microsoft SQL Server Management Studio 18来建立一个名为test的数据库,在里面建一个admins表,列名为name和password即可。另外还要注意更改自己的数据库登录账号和密码。

有学到的小伙伴希望多多关注、点赞、支持!

以此处附上下载地址:sqljdbc4.jarhttps://pan.baidu.com/s/1Wc7QsZwJsMYe0-WEOXjZlw?pwd=7px5文章来源地址https://www.toymoban.com/news/detail-458546.html

到了这里,关于MVC框架实现用户登录注册功能(连接数据库)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 手把手教你实现:Android注册登录功能,通过本地服务器保存用户账号密码到数据库

    代码我放到文章最后面了 首先你需要电脑一台:如果没有电脑将会很难办呢 -----沃兹基硕德 下载并安装以下开发工具 Android Studio 官网最新版 用来开发 安卓App IntelliJ IDEA 官网最新版 用来开发 后端 ,处理安卓APP的请求 Navicat for MySql 官网最新版 数据库可视化工具,用来查看数

    2024年01月16日
    浏览(39)
  • 使用javaweb实现登录注册页面,并且对功能和业务进行分层 用户登录成功跳转到主页并展示数据库的商品的信息

    一、Servlet+JSP+JavaBean开发模式(MVC)介绍 Servlet+JSP+JavaBean模式(MVC)适合开发复杂的web应用,在这种模式下,servlet负责处理用户请求,jsp负责数据显示,javabean负责封装数据。 Servlet+JSP+JavaBean模式程序各个模块之间层次清晰,web开发推荐采用此种模式。 这里以一个最常用的用户登录

    2024年02月03日
    浏览(44)
  • Java--用户登录/注册界面(连接Mysql数据库)并可以通过验证码登录

    1 效果展示 (1)登录界面 (2)注册界面 (3)动图展示 2 内容说明 (1)开发前,需引入一个连接Mysql 数据库驱动mysql-connector-java-5.1.30-bin.jar包 提取码:6666 (2)构建路径 (3)需要下载xampp软件 xampp软件下载 提取码:2255 xampp软件包含 Apache Web服务器、 Mysql Web服务器、Filezilla

    2024年02月09日
    浏览(45)
  • Java开发:实现用户注册登录的功能

    一、前言 在Java开发过程中,实现用户的注册功能是最基本的,用户通过手机号或者邮箱作为注册账号也是非常常见的操作方式,不管是通过手机号注册或者邮箱注册,原理都差不多,那么本文就来分享一下在Java开发过程中的用户注册账号的功能实现。 二、准备工作 1、通过

    2023年04月09日
    浏览(41)
  • SSM框架实现登录注册功能

    刚刚写出来的SSM登录注册案例,网上随便翻一下都有 ,本篇直接上手,使用Maven工程搭建一个简单的SSM框架实现简单的登录注册,验证重名功能。 链接:https://pan.baidu.com/s/1qJ8aN7rheZXWT2_O_uiBKg  提取码:6666  目录 项目结构图 持久层相关配置文件 applicationContext-dao.xml application

    2023年04月08日
    浏览(34)
  • Node.js连接数据库 实现注册、登录、判断注册

    Node.js连接数据库实现注册,登录,在登录时检测账号是否进行注册。 此创建文件夹可以不是使用Vue-cli进行创建,只是简单创建文件夹便可。 使用npm进行mysql插件的安装,cmd黑窗口运行下列指令 此指令运行完成,文件夹根目录出现 node_modules 文件 黑窗口运行 npm init 指令,出现

    2024年02月09日
    浏览(47)
  • 用Java代码实现学生管理系统(可实现用户登录注册功能)

    简单实现学生系统的登录和注册,以及学生信息添加、删除,修改、查询功能。根据需求,创建一个学生类和和用户类以及学生系统类,在登录管理系统之前需要先注册用户,只有输入正确的用户名和密码才可以登录,忘记密码后可以根据用户信息进行修改,用容器存储学生

    2024年02月05日
    浏览(37)
  • Django-drf项目初始化:跨域、认证权限过滤、static静态资源路由,mysql数据库连接,登录注册功能

    码云地址:https://gitee.com/liuhaizhang/drf-project-initialization 项目目录结构: study_drf            -home         -static         -study_drf         -util         -manage.py pip install django #drf基于django pip install djangorestframework #drf框架 pip install mysqlclient #连接数据库 pip install djangorestframewo

    2024年02月03日
    浏览(58)
  • JavaWeb项目----实现用户登录、注册、对商品信息进行的添加、删除、修改功能

    在idea中创建有关类   web中写jsp页面,index.jsp是首页布局 运行效果如下:  登录页面 运行效果如下:   注册页面  运行效果如下:   登陆正确时跳转到zhuye.jsp主页页面( 使用Java脚本获取集合中对象的元素,放html标签中) 运行效果如下:   在登陆页面,密码或用户名输入

    2024年02月11日
    浏览(30)
  • 使用SSM框架实现用户登录功能

    客户端有非空校验 登录成功,跳转到主页面 登录失败,再次跳转到登录页面 1、创建数据库 执行命令: CREATE DATABASE ssmdb CHARSET=\\\'utf8mb4\\\'; 查看新建的数据库 2、创建用户表   执行SQL命令生成新的用户表 t_user  3、添加多条用户记录表 运行SQL命令,添加4条记录   (二)创建

    2024年02月06日
    浏览(41)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包