Spring Boot / Spring MVC 入门实践 (三) : 入门项目介绍与用户注册登录的实现
2016-07-30 11:04
931 查看
声明
本系列文章系本人原创,欢迎转载,转载请注明出处。本系列文章通过具体的例子,介绍如何通过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文件,这些在本系列前面的章节中都有提及,在本章中我们主要关注以下几点:
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 入门实践 (三) : 入门项目介绍与用户注册登录的实现
- spring boot MVC 三 用户注册和登录的实现
- Java入门:用户登录与注册模块1(实践项目)——分析
- Spring Boot / Spring MVC 入门实践 (一) :环境搭建与第一个项目
- 代码学习与实践 (一):Spring Boot 多模块项目创建与配置 注册 登录
- Spring Boot / Spring MVC 入门实践 (一) :环境搭建与第一个项目
- SpringBoot/SpringMVC整合Shiro(一):实现登录与注册(MD5加盐加密)
- 【无私分享:从入门到精通ASP.NET MVC】从0开始,一起搭框架、做项目(5.1) 登录功能的实现,开始接触Spring IOC、DI
- Spring Boot / Spring MVC 入门实践 (四) :需求记录网站的实现
- 在MVC项目中为用户登录失败次数实现提示
- 使用springmvc+mybatis实现增删改查并进行登录注册功能
- yii2项目实战-用户管理之登录与注册功能实现
- yii2项目实战-用户管理之登录与注册功能实现
- java简单的MVC实现简单的用户注册与登录
- Maven搭建springMVC+spring+hibernate实现用户注册
- MVC3学习第十二章 佟掌柜第一弹----利用MVC3实现用户的注册登录和了解MVC中的分部视图、用户控件
- 谁能提供一份用springmvc+hibernate+jstl写的完整用户注册,登录demo呢
- maven+springMVC+jdbc实现用户登录
- Spring Boot / Spring MVC 入门实践 (一) :环境搭建与第一个项目
- maven+springMVC+jdbc实现用户注册功能