使用SSH架构(Spring+SpringMVC+Hibernate)实现了简单的调查问卷网站。最终效果如图:
下面整理实现流程。
前言
1.SSH架构
SSH是MVC架构的一种实现。
Spring、SpringMVC、Hibernate各自用处分别是:
- Hibernate方便了对数据库的操作。一个对象映射一个表,省去了写SQL语句的繁琐,完成数据持久化的任务。
- Spring方便了对象的创建和相互关联。比如网站启动时想要初始化的一些对象,可交给Spring管理。
- SpringMVC实现了MVC架构,使得结构清晰、分工明确。
(Spring和SpringMVC区别:Spring是IOC和AOP的容器框架,参考:谈谈Spring中的IOC和AOP概念);SpringMVC是基于Spring实现的MVC Web框架)。
2.Maven
Maven是一个项目管理工具,有一套标准的工程结构。其核心配置文件是pom.xml,描述了项目信息,依赖关系等。
由于Java项目中需要引入各种jar包,还存在版本差异,把这些依赖关系在pom.xml里面描述,maven就会自动从本地或远程仓库寻找依赖,不用再去一个个下载、拷贝jar包了。
例如,想引入springmvc框架,就在pom.xml中加入如下配置:
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-webmvc</artifactId>
<version>${spring.version}</version>
</dependency
3.代码结构
Java源码包含Model、DAO、Service、Controller四个包,其中:
- Model:存放数据模型
- DAO:实现直接操作Model的接口及方法,比如实现getPerson()
- Service:使用DAO提供的接口,实现项目需要用到的功能,比如实现getAllPersons()
- Controller:使用Service提供的功能,实现数据分发及页面展示。
工程结构如下:
项目源码:https://github.com/zhang35/QuizWeb.git
开发环境
集成开发环境(IDE):IntelliJ IDEA 2017.3.2
本地服务器:Tomcat 9.0.2
数据库: MySQL 5.7
项目管理:Maven
操作系统:MacOS
开发步骤
1. 准备工作
-
如何使用IDEA创建web工程,参考:
使用IntelliJ IDEA开发java web -
如何使用IDEA配置maven仓库,加快加载依赖包的速度,参考:
IDEA配置maven(配置阿里云中央仓库)
2. 搭建SSH项目
- 如何在IntelliJ与Maven的环境下搭建Spring+SpringMVC+Hibernate项目,参考:
Spring-SpringMVC-Hibernate在IntelliJ与Maven的环境下搭建
3. 实现投票功能
从操作流