本系列文章旨在记录和总结自己在Java Web开发之路上的知识点、经验、问题和思考,希望能帮助更多(Java)码农和想成为(Java)码农的人。
目录
- 介绍
- 四大架构(技术、业务、应用、数据)
- 思路
- 展示层 - 注册页面 register.html
- User实体类
- DAO层 - UserMapper接口和元数据
- 服务层 - UserService
- 控制器层 - 添加Handler
- 总结
介绍
到现在为止,我们的租房网应用只是实现了简单的用户登录(实际上仅有前端页面,后台还没有实现登录验证的业务逻辑)、查看自己感兴趣的房源(也是仅有一个接口)、查看某个房源的详情、编辑某个房源的信息等功能。
本篇文章将为我们的租房网应用实现一个简单的用户注册功能。
四大架构(技术、业务、应用、数据)
前面的工作只是一直不断的在使用新技术改造我们的项目,从最开始的Servlet,经过使用JSP和JSTL、Spring MVC和Spring IoC、关系数据库H2Database和JDBC、Maven、Spring JDBC,到目前采用ORM框架MyBatis、连接池框架Druid等技术,我们的项目在开发效率、可维护性、性能等方面不敢说达到完美,但也算很不错了。
所以,既然我们的技术架构搭建的也还够用了,现在暂时让我们的重心转移到业务架构上来。当然,还有应用架构和数据架构。
应用架构我们就暂时采取独立的单块应用架构吧,就是说把所有业务功能都放在一个应用中。目前很流行微服务架构,但那适合于业务功能很复杂,需要拆分为成百上千个应用,数据库也动辄上百个库,上万张表,我们的租房网应用现在还早着呢,全部功能放在一起又快又简单。
数据架构上目前也仅仅使用了房源数据,而房源数据里面也只是模拟了若干个字符串类型的数据,并没有涉及到文档、图片、视频、音频等其他类型的数据,我们就先用关系数据库吧。
业务架构我们也不作深入分析和设计,我们就怎么简单怎么来吧,现在缺用户注册功能,那我们就实现一个用户注册功能,还是赶紧把租房网应用改造成至少像模像样要紧。
思路
首先从租房网平台的最终用户的角度来看,我们应该有一个注册页面。
这个注册页面跟登录页面类似,不涉及任何其他业务的数据,因此可以采用静态页面的方式来实现。
有了这个注册页面,我们就可以直接打开这个页面进行注册。当然,也可以从其他页面比如登录页面链接到注册页面。
用户填写注册信息完毕之后,需要将它们提交到我们的租房网应用的后台。首先到达的是我们的控制器。因此,我们需要为控制器设计一个Handler,采用POST方法映射到 register.action 。
注册信息至少应该包含用户名和密码,当然实际应用中还应该包含更多用户信息,所以,我们应该设计一个用户实体类,类名就叫 User 吧。
根据分层的思维,控制器的Handler需要调用一个服务来实现用户注册