Spring Boot / Spring MVC 入门实践 (三) : 入门项目介绍与用户注册登录的实现

4 篇文章 0 订阅
订阅专栏

声明

本系列文章系本人原创,欢迎转载,转载请注明出处。

本系列文章通过具体的例子,介绍如何通过spring Boot来帮助简化Spring MVC开发Web Application的过程,旨在通过具体的实践,使读者能够入门利用Spring Boot开发Web Application。

对于文章中贴出的代码,本人均在本地测试过,如果大家对代码有疑问,欢迎在评论区指出。如果大家发现了文章中描述不对的地方,也欢迎指出,以便大家共同进步。

一、入门项目介绍

从这一章开始,我们就正式开始通过一个完整的项目,来介绍Spring Boot了。这个项目的灵感来自于笔者在工作中发现,对于很多项目,在项目最开始的时候,可能会有一些需求文档和设计文档,但是随着项目的进行,对于新加入的需求或者原有需求的变更,可能就只是一封邮件或只是口头上说一下就行了。这就带来了一个问题:长此以往,如果当初开发某个功能模块的人员调到其他团队或者离职了,换另一个人来维护该功能模块的时候,就很难完全理解某功能的原始的需求,有时候甚至很难确定某一功能的最终效果到底是一个bug还是原本的需求就是这样的。当然了,在代码中添加注释可以从某种程度上削弱这方面的影响,并且这样做的确是一个很好的习惯。但是,从根本上来讲,还是需要有一个工具来持续记录每一个功能模块的需求以及需求变更。
所以,我们的这个入门项目,就是一个用来持续记录需求及需求变更的工具。笔者写这个项目的目的主要是为了介绍Spring Boot,但是笔者相信有兴趣的读者对这个项目稍加润色,便可以将该项目变成一个对用户友好的、可以真正投入使用的项目。

项目的源代码可以从GitHub上获取(由于GitHub上的这个项目是在本系列文章之前写的,可能会与本系列文章中的代码不完全一致,但是项目框架与用到的技术是类似的,所以在这里提供链接以供读者参考):
https://github.com/linux-subscribe/simplerequirementtracker.git


二、用户注册及登录

作为我们开发这个项目的第一步,我们先来开发用户注册及登陆的模块。一切从简,我们先按照下面这个流程图开发,在接下来的章节中,我们会对这个简单的流程扩展,已完全实现我们这个需求记录工具的功能。

注册及登录流程图

简而言之,就是我们会有一个欢迎界面,然后欢迎界面有两个链接,分别指向注册界面和登录界面,这两个界面又会根据注册及登录情况跳转到结果界面(根据情况显示注册成功,登录失败或者登录成功)。

这部分功能的实现可以从 这里获取源码。(读者需要自行在本地搭建MySQL数据库,并将相关信息配置在项目中,便可运行该源码。该项目的数据库相关信息配置很简单,在下面会讲到。)

这部分功能的实现还是比较简单明了的: 用Spring Tool Suite (STS)新建一个Maven Project, 添加需要的Maven Dependencies,然后添加Controller和基于Thymeleaf的html文件,这些在本系列前面的章节中都有提及,在本章中我们主要关注以下几点:

  1. Thymeleaf表单绑定Spring的Model对象中的Attribute
    下面是Register页面的部分html(表单)
    <!--注意这里的th:object="${user}"-->
    <form th:object="${user}" method="post">
        <label for="userName">User Name: </label>
        <input type="text" th:field="*{userName}"/>
        <br/>
        <label for="userDescription">Description: </label>
        <!--注意这里的th:field="*{userDescription}"-->
        <input type="text" th:field="*{userDescription}"/>
        <br/>
        <label for="password">Password: </label>
        <input type="password" th:field="*{password}"/>
        <br/>
        <input type="reset"/>
        <input type="submit"/>
    </form>

下面是RegisterController的代码片段

    @RequestMapping(value="/register", method=RequestMethod.GET)
    public String showRegisterPage(Model model){
        User user=new User();
        //将User对象添加到Model对象的属性中
        model.addAttribute("user",user);
        return "register";
    }

    @RequestMapping(value="/register", method=RequestMethod.POST)
    //将表单中各字段“拼”出User对象是自动的,我们可以直接使用这个User对象
    public String register(User user){
        userRepository.addUser(user);
        return "redirect:/result/register/successful";
    }

我们可以看出,Thymeleaf表单中 ${user} 对应到Spring的Model对象的键为“user”的User对象,而 th:field=”*{userDescription}” 则对应到user.getUserDescription(),以此类推,注意“$”符号和“*”符号的区别。
2. 在本系列前面的章节中,我们讲到过SpringBoot默认从src/main/resources/templates目录中读html文件。现在我们的应用中又多了数据库相关的操作,那么数据库相关的配置在哪里呢?答案是src/main/resources/目录下的application.properties文件和schema.sql文件。

application.properties文件:我们把我们的数据库配置放在这里:

spring.datasource.url=jdbc:mysql://localhost:3306/srt
spring.datasource.username=root
spring.datasource.password=123

schema.sql:我们把建表语句放在这里:

CREATE TABLE IF NOT EXISTS Users (userId BIGINT PRIMARY KEY AUTO_INCREMENT, userName VARCHAR(30) UNIQUE, userDescription VARCHAR(50), password VARCHAR(50) NOT NULL);

三、总结

在本章中,我们实现了用户注册及登录的功能。可以看出我们的工作重点是放在了写Controller、html、Repository等与功能实现密切相关的事情上,而与配置相关的仅仅有几行的内容。
在接下来的章节中,我们会对本章中的项目进行完善,从而实现一个完整的持续记录需求及需求变更的网站。

博客:“Spring Boot / Spring MVC 入门实践) : 入门项目介绍用户注册登录实现”的源码
07-30
博客:“Spring Boot / Spring MVC 入门实践) : 入门项目介绍用户注册登录实现”的源码
SpringBoot2+Mp 完成网站登录注册功能
qq_42538631的博客
04-17 634
一.前端页面 1.登录界面 2.注册界面 二、功能实现 1.登录功能 登录功能有两个部分:检查用户是否存在和检查密码是否错误 通过js 发送Axios请求 onLogin: function () { //传递vue指针 var _this = this; //判断输入不为空 if(this.username!==''&amp;&amp;this.password!==''){ //向后端发送axios请求 ax...
Spring+SpringMVC+MP登录案例(含拦截器)
calm_programmer的博客
12-17 809
Spring+SpringMVC+MP登录案例(含拦截器)
基于Springboot实现登录
最新发布
weixin_59797669的博客
03-29 364
Spring Boot 是一个基于 Spring 框架的开源框架,它简化了基于 Java 的应用程序的开发。Spring Boot 提供了一种快速构建应用程序的方式,通过自动配置、约定大于配置和开箱即用的特性,使得开发者可以更专注于业务逻辑的实现,而不需要过多关注配置。Spring Boot 集成了大量常用的库,简化了应用程序的配置和部署过程,同时提供了许多功能强大的特性,比如内嵌容器、自动配置、健康检查、监控等,下面我将详细说明利用springboot特性完成用户登录功能
bootstrap实现登录注册界面
hugejihu9的专栏
10-17 6万+
文章来自:源码在线https://www.shengli.me/css/65.html;   Bootstrap是一个Web前端开发框架,使用它提供的css、js文件可以简单、方便地美化HTML控件。Bootstrap框架为各种控件定义好了很多的类(class),在引入相关文件后,为控件添加相应的类,就可以看到想要的样子了,它使开发更快捷,更简单了......   bootstrap官网地...
springboot实现简单的注册登录功能
Java721的博客
02-22 2万+
spring官网 通过spring官网初始化SpringBoot项目 使用idea工具打开Springboot项目项目结构 添加pom依赖 <!--springboot启动类--> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter</artifactId>
spring boot简单实现登陆注册功能demo
obitosbb的博客
04-22 1135
spring boot 、maven、mybatis-plus、postman 采用调用接口的形式返回给前端 纯接口,没有.jsp,没有.html 接口功能: 1、登陆: 1)输入用户名密码登陆 2)使用md5加密与数据库的密文做验证 2、注册: 1)输入用户名、密码、性别、年龄、电话号码 2)用户名、密码、年龄、电话号码均采用正则校验规范 3、通过用户名获取用户数据 1)输入用户名 4、获取所有用户的所有数据 参考我的另一篇博客新建spring boot项目...
SpringBoot实现登录注册功能【Demo】
热门推荐
laoyog
07-07 7万+
文末有下载链接 本文使用springboot+mybatis注解方式,完成简单的注册和登录功能。且前后端分离,向前端返回json字符串。 最终效果如下: 注册: 如果用户名重复:返回json串 {"msg":"用户名已存在","success":false,"detail":null} 如果正常:{"msg":"注册成功","success"...
Spring boot 搭建个人博客系统(二)——登录注册功能
tuzhenyu的博客
08-20 3万+
Spring boot 搭建个人博客系统(二)——登录注册功能 一直想用Spring boot 搭建一个属于自己的博客系统,刚好前段时间学习了叶神的牛客项目课受益匪浅,乘热打铁也主要是学习,好让自己熟悉这类项目开发的基本流程。系统采用Spring boot+MyBatis+MySQL的框架进行项目开发。 项目源码:Jblog 个人主页:tuzhenyu’s page 原文地
登录注册功能实现,核心的验证代码
quanbugu的博客
10-06 1823
//初始化模块 var singupApp = angular.module("singupApp", []); //控制器事件 singupApp.controller("singCtrl", ["$scope", "$http", function($scope, $http) { //初始化短信内容 $scope.smsMsg = "发送验证码"; //设置action为true
基于Spring Boot在线远程考试系统的设计与实现论文-java-文档-论文
02-18
基于Spring Boot在线远程考试系统的设计与实现论文-java-文档-论文 论文: !!!本文档只是论文参考文档! 需要项目源码、数据库sql、开发文档、毕设咨询等,请私信联系~ ① 系统环境:Windows/Mac ② 开发语言:...
Spring+SpringMVC实现登录功能
12-02
数据库采用SQLSERVER2008 ,带有截图,很简单的设计,根据自己的数据库更改下数据库连接池数据源那得配置,绝对能跑起来的,采用注解方式实现登录功能。分层明显。。
springboot+springmvc+mybatis+layui实现登录用户菜单权限管理好例子
08-25
作为中小项目的框架或脚手架非常好用的,有后台用户菜单管理权限认证等基本功能,都、齐全。
用户注册及登录界面(myeclipse 与sql 连接,含报告)源码程序
04-20
这个文件包,包括Register与TestLogin,Register用户登录界面,讲注册的信息存入到数据库,TestLogin即登录界面检查密码是否与数据库一致,一致的话进入,并且在主页面可以显示用户登录信息,这里有个实验报告作参考,代码自己体会
SpringBoot+thymeleaf简单实现登陆注册及记账功能
04-24
NULL 博文链接:https://357029540.iteye.com/blog/2381388
基于Spring框架实现用户的登陆和注册
04-19
体验Spring框架的使用使用spring框架实现用户登陆和注册。设计一个应用程序,在该程序定义用户类、数据层和业务逻辑层。该程序会涉及到两张表:User表:用户名和密码;UserInfo表:编号,用户名,密码,真实姓名,地址,电话,邮箱,性别,年龄。
spring bootspring mvc的区别及功能介绍
08-28
主要介绍spring bootspring mvc的区别是什么以及spring bootspring mvc功能介绍,感兴趣的朋友一起看看吧
基于Spring Boot的民宿租赁系统的设计与实现论文-java-文档-论文-基于Spring Boot的民宿租赁系统-文档
02-22
基于Spring Boot的民宿租赁系统的设计与实现论文-java-文档-论文-基于Spring Boot的民宿租赁系统-文档论文: !!!本文档只是论文参考文档! 需要项目源码、数据库sql、开发文档、毕设咨询等,请私信联系~ ① 系统...
spring-boot-web-support:Spring Boot Web的支持项目
05-13
spring-boot-web-support Spring Boot Web的支持项目依赖性和兼容性依存关系兼容性Java1.7 + 小服务程序3.0 + Sprint Boot1.4 +1.0.0 +1.0.0 +下游项目发布版本< dependencies> ...... <!-- Spring Boot Web --&amp;...
spring bootspring mvc
07-27
Spring BootSpring MVC是两个不同的概念。 Spring Boot是一个用于简化Spring应用程序开发的框架。它提供了一种快速启动和配置Spring应用程序的方式,减少了繁琐的配置工作,使开发人员能够更专注于业务逻辑的实现...

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
写文章

热门文章

  • Spring Boot / Spring MVC 入门实践 (一) :环境搭建与第一个项目 29251
  • Spring Boot / Spring MVC 入门实践 (三) : 入门项目介绍与用户注册登录的实现 9174
  • Spring Boot / Spring MVC 入门实践 (二) :MVC与Spring MVC简介 6303
  • CentOS 7 开机直接进命令行模式界面 5049
  • 如何让MyBatis Generator不生成Example相关内容 3908

分类专栏

  • SpringBoot 4篇
  • 随笔 2篇
  • Linux入门 5篇
  • MyBatis 3篇

最新评论

  • Spring Boot / Spring MVC 入门实践 (二) :MVC与Spring MVC简介

    打杂人 回复 HungerCheung: 粘贴,复制嘛,哈哈哈

  • Spring Boot / Spring MVC 入门实践 (二) :MVC与Spring MVC简介

    HungerCheung: 博主你写的技术 我不是很关心 我想知道 你这个声明每次都手敲呢?还是csdn可以生成 求赐教。

  • Spring Boot / Spring MVC 入门实践 (一) :环境搭建与第一个项目

    微wx笑 回复 不绝对炽热: html不用吧,jsp 需要配置一下

  • Spring Boot / Spring MVC 入门实践 (三) : 入门项目介绍与用户注册登录的实现

    achaoge2012: 感谢分享,请问如果要分controller和service两个层 应该怎么分,谢谢

  • Spring Boot / Spring MVC 入门实践 (一) :环境搭建与第一个项目

    不绝对炽热: helloWorld成功, 但是感觉springBoot还是不够好啊, 修改html文件还得重启服务

您愿意向朋友推荐“博客详情页”吗?

  • 强烈不推荐
  • 不推荐
  • 一般般
  • 推荐
  • 强烈推荐
提交

最新文章

  • 如何让MyBatis Generator不生成Example相关内容
  • 【Spring+MyBatis+MySQL实战入门】三、MyBatis的4个基本配置介绍
  • 【Spring+MyBatis+MySQL实战入门】二、MyBatis和MyBatis Generator的配置
2017年4篇
2016年10篇

目录

目录

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值

4617作文网猪宝宝起名禁忌宜曾仕强谈周易广州周易选日子根据生辰八字起名评分古传周公解梦周易的八卦和六十四卦餐饮起名字测试为起个好听的名字原版周公解梦死人复活家长起名批八字算命最准的生辰八字算命秦男孩起名字周公解梦梦到好多钱庄姓女孩生辰八字起名鼠年丁姓男孩起名姓曲男人起名周公解梦孕妇梦见死去的亲人周易生辰八字测姓名打分测试叶罗丽精灵梦下载破解版王者起名大全搞笑给笔记本起名字杂货店起名 杂货店名字大全李李字起名字周易电子书起名字带水的都有哪些怎么给宾馆起名字大全艺术工作室起名大全大全姓史男宝起名算命 准狗男宝宝起名淀粉肠小王子日销售额涨超10倍罗斯否认插足凯特王妃婚姻让美丽中国“从细节出发”清明节放假3天调休1天男子给前妻转账 现任妻子起诉要回网友建议重庆地铁不准乘客携带菜筐月嫂回应掌掴婴儿是在赶虫子重庆警方辟谣“男子杀人焚尸”国产伟哥去年销售近13亿新的一天从800个哈欠开始男孩疑遭霸凌 家长讨说法被踢出群高中生被打伤下体休学 邯郸通报男子持台球杆殴打2名女店员被抓19岁小伙救下5人后溺亡 多方发声单亲妈妈陷入热恋 14岁儿子报警两大学生合买彩票中奖一人不认账德国打算提及普京时仅用姓名山西省委原副书记商黎光被逮捕武汉大学樱花即将进入盛花期今日春分张家界的山上“长”满了韩国人?特朗普谈“凯特王妃P图照”王树国3次鞠躬告别西交大师生白宫:哈马斯三号人物被杀代拍被何赛飞拿着魔杖追着打315晚会后胖东来又人满为患了房客欠租失踪 房东直发愁倪萍分享减重40斤方法“重生之我在北大当嫡校长”槽头肉企业被曝光前生意红火手机成瘾是影响睡眠质量重要因素考生莫言也上北大硕士复试名单了妈妈回应孩子在校撞护栏坠楼网友洛杉矶偶遇贾玲呼北高速交通事故已致14人死亡西双版纳热带植物园回应蜉蝣大爆发男孩8年未见母亲被告知被遗忘张立群任西安交通大学校长恒大被罚41.75亿到底怎么缴沈阳一轿车冲入人行道致3死2伤奥运男篮美国塞尔维亚同组周杰伦一审败诉网易国标起草人:淀粉肠是低配版火腿肠外国人感慨凌晨的中国很安全男子被流浪猫绊倒 投喂者赔24万杨倩无缘巴黎奥运男子被猫抓伤后确诊“猫抓病”春分“立蛋”成功率更高?记者:伊万改变了国足氛围奥巴马现身唐宁街 黑色着装引猜测

4617作文网 XML地图 TXT地图 虚拟主机 SEO 网站制作 网站优化