JavaWeb(八)MVC设计模式

1、MVC的概念

MVC是Model-View-Controller的简称,即模型-视图-控制器。

MVC是一种设计模式,它把应用程序分成三个核心模块:模型、视图、控制器,它们各自处理自己的任务。

2、模型

模型是应用程序的主体部分,模型表示业务数据和业务逻辑。一个模型能为多个视图提供数据。由于应用于模型的代码只需写一次就可以被多个视图重用,所以提高了代码的可重用性。

3、视图

视图是用户看到并与之交互的界面,作用如下:

(1)视图向用户显示相关的数据。

(2)接受用户的输入。

(3)不进行任何实际的业务处理。

4、控制器

(1)控制器接受用户的输入并调用模型和视图去完成用户的需求。

(2)控制器接收请求并决定调用哪个模型组件去处理请求,然后决定调用哪个视图来显示模型处理返回的数据。

5、mvc案例之查询

(1)test.jsp

(2)Department

(3)ListAllDepartmentsDao

(4)ListAllDepartmentsServlet

(5)web.xml

(6)department.jsp

(7)重启tomcat

(8)点击上面的超链接

6、mvc案例之删除

在上面的案例下添加一个删除功能

(1)departments.jsp

(2)DeleteDepartmentServlet

(3)ListAllDepartmentsDao

(4)web.xml

(5)删除

7、总结

7.1 关于MVC

M:Model;Dao

V:View;JSP,,在页面上填写 Java 代码实现显示

C:Controller; Serlvet

    (1)受理请求

    (2)获取请求参数

    (3)调用 DAO 方法

    (4)可能会把 DAO 方法的返回值放入 request 中

    (5)转发(或重定向)页面

7.2、什么时候转发,什么时候重定向 ?

 若目标的响应页面不需要从 request 中读取任何值,则可以使用重定向。(还可以防止表单的重复提交)

7.3、不足:

(1)使用数据库连接池,DBUtils,JDBCUtils 工具类,DAO 基类

(2)一个请求一个 Serlvet 不好!一个模块使用一个 Serlvet,即多个请求可以使用一个 Servlet

(3)在页面上加入 jQuery 提示

循序渐进学Java!

原文发布于微信公众号 - Java后端生活(javaNotebook)

原文发表时间:2018-05-22

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏撸码那些事

使用缓存的正确姿势

1276
来自专栏撸码那些事

使用缓存的正确姿势

缓存是现在系统中必不可少的模块,并且已经成为了高并发高性能架构的一个关键组件。这篇博客我们来分析一下使用缓存的正确姿势。

4526
来自专栏跟着阿笨一起玩NET

VS2010有自带的数据对比功能

在这里需要注意的有两点:第一、在目标数据库中表如果有非空字段,而在源数据库中某个字段的值为空,则同步不会成功(简单点说如果目标数据库中的表有一个字段设置为不允许...

692
来自专栏计算机视觉

Automatic Photo Adjustment Using Deep Neural Networks 论文实验训练测试部分

安装双系统ubuntu和cuda和 dl_image_enhance安装部分教程,这个小哥哥写的很好 我写下安装cuda_convent_plus和训练测试...

33410
来自专栏carven

xss总结记录

最近工作小组上,集中精力提高安全意识。而XSS作为全端安全中最常见的问题之一,我们也做了着重的学习。 XSS全称跨站脚本(Cross Site Scriptin...

770

Kubernetes的服务网格(第2部分):Pods目前看来还是很棒的

在我们最近关于Kubernetes的序列,Kubernetes的服务网格,第一部分:顶级服务质量一文中,细心的读者注意到,linkerd是使用DaemonSet...

2066
来自专栏ytkah

Laravel上传产品图片Uploading img

  这节我们讲Laravel产品图片上传,有很多方式可以实现,这里我们用intervention/image插件来进行。首先安装intervention/ima...

853

Kafka体系结构:日志压缩

这篇文章是从我们介绍Kafka 体系结构的一系列文章中获得的启发,包括Kafka topic架构,Kafka生产者架构,Kafka消费者架构和Kafka生态系统...

2143
来自专栏二进制文集

Netty 之 Java 的 I/O 演进之路

系列文章:http://www.jianshu.com/p/594441fb9c9e

873
来自专栏我有一个梦想

Python 项目实践三(Web应用程序)第一篇

一 Djangao入门 当今的网站实际上都是富应用程序(rich application),就像成熟的桌面应用程序一样。Python提供了一组开发Web应用程序...

2866

扫码关注云+社区