| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 开发测试 -> 初识MVC——简单的MVC架构编写 -> 正文阅读 |
|
[开发测试]初识MVC——简单的MVC架构编写 |
作者:language-java |
写
Java Web
项?时会发现,?个中型或者?型项? 随着代码的增多,会发现:代码既可以写在
src
?录
下,也可以写在
WebContent
?录下。
src
下可以建很多包 ,
WebContent
下可以建很多?件夹。
所以问题就来了:?个新的类 到底往哪个?录下的哪个?件夹?写?
此时解决办法就是:需要?个模式去规范,到底哪个类该往哪?写。
MVC提供了这样的标准
MVC分为三层:
M
:
(Model) 模
型 :
应?程序的核?功能,管理这个模块中?的数据和值(
bean,dao
);
V(View )
视图
:
视图提供模型的展示,管理模型如何显示给?户,它是应?程序的外观(
jsp/html
)
C(Controller)
控制器
:
对?户的输?做出反应,管理?户和视图的交互,是连接模型和视图的枢纽。 (servlet/service
)
MVC
?于将
web
(
UI
)层进?职责解耦
注??:? ?mvc
设计模式
不属于
23
种设计模式
为了对MVC有一个简单的理解,以查询学生信息的方式进行一个简单的MVC模式的编写。
一、创建web项目?这里用Tomcat进行服务器的配置。 web项目创建完成后就可以开始我们的程序了。 二、前期准备引入jar包以及连接数据库的工具类和配置文件 jar包: ?工具类:
工具类所需连接数据库的配置文件: 提醒一下:这里的配置信息是Mysql8.0版本,若是其他版本,配置信息可能不同。 数据库中提前创建好数据表 三、编写后台程序先定义好各个包,包括Bean包、Dao包、Service包、Servlet包以及工具包。 1.首先编写Bean包的实体类——Student类,包含四个属性(与数据库中数据及列相同) 类名与表名相同,属性名与列名相同。
2.编写操作数据库的Dao包 先定义一个接口,规定一个获取所有学生信息的方法,返回一个含有多个学生对象的List集合
再创建一个类去实现本接口,将该类放在Dao包下的Impl包中,类中去数据库中查询所有学生信息并返回,利用循环将信息存入实体类Student的对象中,并将每个对象存入List集合,最后返回List集合。注:这个实现类因为是直接操作数据库,所以为了方便,继承数据库操作工具类DruidUtil类
Dao包编写完毕。 3.编写Service包 与Dao包类似,先定义接口,在定义实现类,Service中没有实际操作,只是简单呈现MVC模式,在该实现类中去引用Dao实现类的方法即可。 接口:
实现类:
4.编写Servlet包 Servlet需要做的是引用Service去获得含有所有学生信息的List集合,并将其存入req请求中,然后跳转到show.jsp页面去展示该数据。(show.jsp页面的编写稍后再说) 代码如下:注:query为自定义的请求名,在前台的首页中定义一个超链接表示查询所有学生信息,请求名为:query。 <a href="query">查询学生信息</a>
5.工具包Util包 该包下放连接数据库的工具类DruidUtil。 至此,所有的类已编写完毕,后台数据的处理以及各个类之间的关系也明了。 接下来进行展示页面show.jsp页面的编写。 四、展示页面show.jsp原页面中的请求,在后台添加进了含有所有学生信息的数据并跳转到当先show.jsp页面,当先要做的是循环取出各个学生的信息,因为要使用到ava代码,所以这里需要使用JSTL和EL表达式。相关的工具jar包我们之前已经引入,这里直接进行编写即可。 定义表格,创建第一行名称行后,之后利用JSTL的c:forEach循环取值,item表示被循环的对象,var表示循环中单个对象,最后利用EL表达式在行中一个一个展现出学生信息即可。
完成最后的实现效果: 且可以实现动态更新,只要数据库中的数据出现变化,该页面所呈现的信息也会发生变化。 至此,所有的步骤已完成,利用MVC的模式来编写程序,展现“高内聚,低耦合”的特点,MVC也达到了解耦的功能,对后续的维护和修改提供了很大便利,这就是MVC模式的好处之一。 |
|
开发测试 最新文章 |
pytest系列——allure之生成测试报告(Wind |
某大厂软件测试岗一面笔试题+二面问答题面试 |
iperf 学习笔记 |
关于Python中使用selenium八大定位方法 |
【软件测试】为什么提升不了?8年测试总结再 |
软件测试复习 |
PHP笔记-Smarty模板引擎的使用 |
C++Test使用入门 |
【Java】单元测试 |
Net core 3.x 获取客户端地址 |
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/17 18:27:15- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |