在正文之前想先说说自己coding道路上的一点感想,不得不感慨一下时间过得很快,之前写过一篇关于JavaWeb_MVC模式的一篇博客,转眼之间时间已经过去了两个月,那时候还是一个刚刚接触JavaWeb的小白(现在依旧是小白),只是粗略的了解了一下各个技术的作用功能(以为大致了解下就可以运用自如,也是天真的不行,结果实际想做些东西的时候各种打击),随之而来的就是对基础(旧)技术的重视,决定要先打好基础之后再去学习当前流形的SSH框架等技术。于是开始了两个月的JavaWeb基础学习路线,两个月之后再回首总结,发现自己对于MVC的理解还是有些改变,准确的来说应该是深入了一些,接下来将计划进行数据库的相关学习(之前也接触过,同理,还是之前学习的太浮躁,要补的还有很多),写了些自己的感受,一来是对自己的一个肯定和一个态度的坚持,二来是希望一些跟我之前一样有过浮躁和迷茫的朋友,放慢你前进的步伐,务实好基础,楼主始终坚信越是基础的越具生命力,越是基础的越具迁移力,让我们在学习的路上共勉。接下来进入正文:

MVC设计模式
软件开发23种标准设计模式 —- 解决问题方法
MVC不属于 软件23种设计模式

MVC架构模式 将web应用资源分为三个部分 : Model、View 、Controller

在软件开发中架构的定义比设计层面是更高的,MVC架构模式 将web应用资源分为三个部分 : Model、View 、Controller

Model2: JSP + JavaBean + Servlet 职责分工
JSP 页面显示

JavaBean 封装数据 处理数据
Servlet 控制整个处理流程,调用JavaBean,调用JSP

因此一般我们在做实际项目时,也往往会根据MVC来定义我们的package,例如:

cn.megustas.user.controller
cn.megustas.user.model

cn.megustas.user.view
cn.megustas.user.utils

为什么要使用MVC? 分工明确,便于维护

例如按照MVC模式我们要设计一个用户登录系统,思路如下:

cn.megustas.user.controller
cn.megustas.user.model

cn.megustas.user.view
cn.megustas.user.utils

编写注册功能:
regist.jsp —- 规定一些user有哪些数据 ?用户名、密码、邮箱、验证码 — 引入验证码图片 — 等一下英语点击切换效果

RegistServlet 控制器
User 存放数据JavaBean
UserModel 处理数据JavaBean —-
使用pull解析器 将数据写入xml * 将xml中数据解析 List对象,将List对象数据序列化Xml
注册成功 跳转
login.jsp

用户注销 —- 原理注销session

记住用户名和密码
原理:向客户端写cookie信息
什么情况下 需要记住用户名和密码:1、用户勾选记住checkbox
2、登陆成功

    • 自动登陆 — Filter

MVC模式职责分工及学习路上的一些感想的更多相关文章

  1. ASP.Net MVC开发基础学习笔记:一、走向MVC模式

    一.ASP.Net的两种开发模式 1.1 ASP.Net WebForm的开发模式 (1)处理流程 在传统的WebForm模式下,我们请求一个例如http://www.aspnetmvc.com/bl ...

  2. ASP.Net MVC开发基础学习笔记(1):走向MVC模式

    一.ASP.Net的两种开发模式 1.1 ASP.Net WebForm的开发模式 (1)处理流程 在传统的WebForm模式下,我们请求一个例如http://www.aspnetmvc.com/bl ...

  3. jsp学习---mvc模式介绍和el表达式,jstl标签库的使用入门

    一.mvc模式介绍 下图是常用的mvc分层模式: 项目中的包命名规则,一般如下: com.amos.domain 封装JavaBean,一般我喜欢用model命名这个包com.amos.dao 封装d ...

  4. AngularJS学习之MVC模式

    AngularJS是谷歌开发维护的前端MVC框架,克服了HTML在构建应用上的不足,从而降低了开发的成本. 在学习AngularJS之前,有必要和之前学过的jQuery进行对比.jQuery是java ...

  5. MongoDB学习笔记(三) 在MVC模式下通过Jqgrid表格操作MongoDB数据

    看到下图,是通过Jqgrid实现表格数据的基本增删查改的操作.表格数据增删改是一般企业应用系统开发的常见功能,不过不同的是这个表格数据来源是非关系型的数据库MongoDB.nosql虽然概念新颖,但是 ...

  6. MVC模式学习笔记

    一.如何设计一个程序的结构,这是一门专门的学问,叫做“架构模式”(architectural pattern),属于编程的方法论. MVC模式就是架构模式的一种,我觉得它不仅适用于开发软件,也适用于其 ...

  7. 【ASP.NET MVC 学习笔记】- 01 理解MVC模式

    本文参考:http://www.cnblogs.com/willick/p/3195560.html 1.MVC模式是软件系统的一种架构模式,它将软件分为三大模块: 模型(Model):封装业务逻辑以 ...

  8. AngularJS学习笔记(1)——MVC模式的清单列表效果

    MVC模式的清单列表效果 使用WebStorm新建todo.html并链入bootstrap.css.bootstrap-theme.css.angular.js.要链入的相关css和js文件预先准备 ...

  9. 《从零开始学Swift》学习笔记(Day67)——Cocoa Touch设计模式及应用之MVC模式

    原创文章,欢迎转载.转载请注明:关东升的博客 MVC(Model-View-Controller,模型-视图-控制器)模式是相当古老的设计模式之一,它最早出现在Smalltalk语言中.现在,很多计算 ...

随机推荐

  1. python算法学习--待续

    几个算法网站 算法可视化网站:https://visualgo.net/en,通过动画展示算法实现过程 程序可视化网站:http://www.pythontutor.com/visualize.htm ...

  2. 用QT写的简单Todo记事本-附源码(浮动窗口)

    去年边学边写了搞了很久, 已经好久没继续开发了, 先放出来供大家参考吧. 发现自己的学习能力还是不错的. 技术点: 使用QT, QML技术 代码参考: https://github.com/cnscu ...

  3. azure获取vm运行状态

    az vm list -d -o json --query "[?name=='vm-name']" | jq '.[0].powerState' 输出vm信息 az vm lis ...

  4. 题解CF757B

    题目 题意:在 \(s\) 数组中找出尽可能多的数使得他们的最大公约数 \(>1\) 既然最大公约数 \(>1\),\(s\) 数组的值域是 \(1 \le s_i \le 10^5\), ...

  5. Linux常见问题解决方案

    1.Kali2020添加BCM43142的网卡驱动 来源:https://www.fujieace.com/kali-linux/wifi-drive.html 我只是执行了第三步:安装网卡驱动,即: ...

  6. mapboxgl 互联网地图纠偏插件(三)

    先说结论,结论当然是:大功告成,喜大普奔.看效果图: 好了,接下来说一下过程 先回顾一下这个系列的第一篇和第二篇 第一篇是直接改的 mapboxgl 源码,在源码里面对瓦片的位置进行纠偏,遇到的问题是 ...

  7. STM32启动文件详解及SystemInit函数分析(转)

    ;先在RAM中分配系统使用的栈,RAM的起始地址为0x2000_0000 ;然后在RAM中分配变量使用的堆 ;然后在CODE区(flash)分配中断向量表,flash的起始地址为0x0800_0000 ...

  8. windows和linux传输小技巧——FTP服务

    目录 一.FTP简介 二.匿名用户访问设置 三.设置本地用户验证访问ftp 3.1.修改匿名用户.本地用户登录的默认根目录 四.使用user_list列表 一.FTP简介 FTP服务--用来传输文件的 ...

  9. PostgreSQL 时间转换

    背景:最近频繁使用到时间转换相关的操作,特此小记. 1.实时取最近24小时内数据. select now() - interval '24h'; 通过sql获得符合要求的时间段,当做where条件即可 ...

  10. docker-01

    Docker介绍 1 什么是容器? Docker 是一个开源的应用容器引擎,基于 Go 语言 并遵从 Apache2.0 协议开源 Docker 可以让开发者打包他们的应用以及依赖包到一个轻量级.可移 ...