目录

一、简单理解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视图中,只是接收请求并决定调用哪个模型构件去处理请求,然后再确定用哪个视图来显示返回的数据。

二、项目结构

三、项目源码

3.1 User

代码如下(示例):

public class User {// 封装实体类的JavaBeanprivate 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: 10504Date: 2022/5/17Time: 12:49To 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: 10504Date: 2022/5/17Time: 12:55To 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: 10504Date: 2022/5/17Time: 13:29To 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: 10504Date: 2022/5/17Time: 13:42To 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框架实现用户登录注册功能的基本流程,具体的jsp界面只完成了功能,下去可以利用css技术渲染自己的界面。

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

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

以此处附上下载地址:sqljdbc4.jarhttps://pan.baidu.com/s/1Wc7QsZwJsMYe0-WEOXjZlw?pwd=7px5

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

  1. java实现用户登录注册功能(用集合框架来实现)

    需求:实现用户登录注册功能(用集合框架来实现) 分析: A:需求的类和接口 1.用户类 UserBean 2.用户操作方法接口和实现类 UserDao UserDaoImpl 3.测试类 UserTe ...

  2. vue+node---使用element框架实现的前后台用户登录注册功能

    为了更进一步清晰地了解前台数据向后台提交的过程,更好地加强巩固前端开发学习,整理了基础的[前后台用户登录注册功能]实现代码.后台通过node.js开发,数据存储在sqlite中,前台vue+eleme ...

  3. java wed登录面 代码_JavaWeb实现用户登录注册功能实例代码(基于Servlet+JSP+JavaBean模式)...

    下面通过通过图文并茂的方式给大家介绍JavaWeb实现用户登录注册功能实例代码,一起看看吧. 一.Servlet+JSP+JavaBean开发模式(MVC)介绍 Servlet+JSP+JavaBea ...

  4. php注册登录描述,基于PHP实现用户登录注册功能的详细教程

    教程前先给大家看看小编的实现成果吧! 图1: 图2: 图3: 教程: 实现这个功能我们需要五个php文件: login.php (登录界面,如图2) 登录 登录页面 用户名: required=&qu ...

  5. 注册登录案例用MVC和mysql_用MVC模式实现简单用户登录注册功能

    Model2模式 Jsp+Servlet+JavaBean MVC:开发模式 M:Model 模型层 ----> JavaBean V:View 视图层 ----> Jsp C:Contr ...

  6. php登录注册连接数据库,利用PHP连接数据库——实现用户登录注册功能以及管理员对用户注...

    1.用户注册页面 页面效果: 代码如下: !DOCTYPE html html head meta charset="UTF-8" title/title script src=& ...

  7. PHP实现用户登录注册功能

    初学php做了一些比较常见且有用的页面,放在上面记录一下咯 我是用了bootstrap框架里面的模态框做注册登陆页面,这样页面比较美观 页面效果: 注册成功条件/功能: 1)用户名不能冲突 2)两次密 ...

  8. Codeigniter 用户登录注册模块

    Codeigniter 用户登录注册模块 以下皆是基于Codeigniter + MySQL 一.要实现用户登录注册功能,首先就要和MySQL数据库连接,操作流程如下: CI中贯彻MVC模型,即Mod ...

  9. Spring boot 搭建个人博客系统(二)——登录注册功能

    Spring boot 搭建个人博客系统(二)--登录注册功能 一直想用Spring boot 搭建一个属于自己的博客系统,刚好前段时间学习了叶神的牛客项目课受益匪浅,乘热打铁也主要是学习,好让自己熟 ...

最新文章

  1. 类操作是什么意思?jQuery的类操作教程
  2. php中mvc控制器作用,理解PHP中的MVC编程之控制器
  3. 5、kubernetes 集群 YAML 文件详解
  4. win10桌面和手机的扩展API,判断是否有实体后退键API
  5. C++ Primer 5th笔记(chap 10)泛型算法 :特定容器算法list
  6. 2440 休眠唤醒的实现过程(作者:wogoyixikexie@gliet)
  7. 线段树合并复杂度证明
  8. 知识蒸馏 knowledge distill 相关论文理解
  9. MySQL学习记录===待续
  10. Android-图像识别项目OpenCV(4):开发思路以及问题
  11. sun.misc jar包
  12. wamp设置本地访问路径为a.com
  13. Cockos REAPER 6 for Mac - 热门数字音频制作软件
  14. 能打开pdf格式的软件
  15. 论文学习笔记-M2Det
  16. 计算机无法访问ftp站点,为什么我的电脑无法访问FTP服务
  17. 万能检测数据类型的方法
  18. 派森编程python_Python(派森)
  19. [kubernetes]-通过initcontainer监控job是否完成
  20. Android-PickerView

热门文章

  1. 2022-2027年中国货物运输保险行业市场调研及未来发展趋势预测报告
  2. replace 正则表达式
  3. Replace()函数的使用
  4. 央视推荐的护眼灯是哪款?盘点央视推荐的护眼灯排名
  5. Ubuntu下控制蜂鸣器
  6. 【整理】VBA学习资料整理
  7. 如何低成本快速获取种子用户
  8. 云e办前端项目--前端VUE跨域配置
  9. Acwing4261. 孤独的照片
  10. InSAR学习笔记之ISCE 软件安装