JaveBean+Jsp+Servlet的MVC项目模板
## MVC介绍
MVC是一种设计模式,是JavaWeb开发中常用的一种解决方案,
所谓模式就是针对一个问题的固定解决方案,或者说是一种固定的套路,
把一个项目分为三层来开发,分别是:
* Model(模型层)
* View(视图层)
* Controller(控制层)
M:负责把业务实体数据封装成java对象,方便我们在程序中使用。
V:负责将已有数据展示给用户看,无论什么数据,只负责显示,不涉及流程。
C:负责接收请求,增删改查数据,核心业务运算,控制程序流程。
MVC是一种设计思想,一种理念,它不是一项具体的技术,它可以有许多种实现方式,
## 项目分层情况
我们这个DEMO是一个标准的MVC实现,也是一种很基础的实现,适合开发中小型项目。
下面是我们这个DEMO中的分层情况:
Model:使用JavaBean实现,代表实体数据。
View:使用JSP来充当模型层,jsp页面只负责已有数据的显示,
至于流程的控制,数据的处理都与jsp无关。
Controller:使用Servlet实现,所有关于数据增删改查,关于页面走向的问题,都由servlet进行控制。
即,我们的项目是使用JavaBean+Jsp+Servlet实现的MVC项目。
## 关于DAO
在MVC的基础上,为了更方便的对实体对象进行操作,我们还需要DAO,
DAO全称DataAccessObject,意为数据访问对象,
DAO是一种设计模式,专门用于处理基本的增删改查,
DAO不属于MVC任意一层,MVC是做web的方案,不代表项目中只能有MVC。
当前项目中并存的模式:MVC、DAO、单例、工厂
## 关于JavaBean
由于不少同学对JavaBean的理解有偏差,这里专门介绍一下:
JavaBean其实就是我们常说的实体类,如Student/Book/Hero/Person等,
特殊的地方是,JavaBean是一种模型设计模式,这种模式中规定:
* 类中所有属性必须私有
* 必须提供get/set方法
* 必须要有无参构造方法
符合以上描述的实体类就是一个合格的JavaBean。
## 模型视图
如果我们的模型中有上百个属性,而我们本次jsp页面只想取其中的5项去显示,
正常查询定会白白消耗许多资源,这个时候我们就可以创建一个辅助jsp展示的简化模型,
比如我们有个类Hero中有100项属性,我们再建一个HeroView,其中只有5项属性,
接下来为这个HeroView专门写个查询,这样问题就解决了,
HeroView从数据角度讲也可以被称为视图,主要用于查看,因而被称为模型的视图,也可以叫做View,但它其实属于MVC中的模型层,这个和我们MVC中的View完全不是一个概念,注意区分。
## 项目说明
项目使用MySQL数据库
1.导入SQL脚本,位置是项目下的doc目录下的HERO.sql文件
2.导入项目后第一件事就是选中整个项目修改编码为UTF-8
3.然后修改demo.mvc.util.JDBCUtil类中的jdbc连接属性
4.部署项目,访问index.jsp或/hero/list,(index.jsp会自动跳转到/hero/list)
注意:
MVC项目中如果想查询,不要直接访问jsp,而是访问servlet,
让servlet把数据准备好,因为它是控制层,然后转发到jsp中进行显示,
jsp页面专门负责各种样式的编写,servlet负责动态数据的流转。
## 相关链接
作者:夏增明
日期:2015年7月23日18:52:41
网址:
[http://baike.xsoftlab.net/view/810.html](http://baike.xsoftlab.net/view/810.html)
[http://zhenzhigu.com/read.php?tid=756&fid=6](http://zhenzhigu.com/read.php?tid=756&fid=6)
链接:[http://pan.baidu.com/s/1qXQDDCS](http://pan.baidu.com/s/1qXQDDCS) 密码:se1i