MVC必须要掌握的

简介: 前端

Java Web开发的Model 1和Model 2分别指的是什么?

答:Model 1是以页面为中心的Java Web开发,只适合非常小型的应用程序,Model 2是基于MVC架构模式的应用,这一点在前文的面试题中已经详细讲解过了。

说说什么是框架:


框架(framework)是一个框子--》指约束性,也是一个架子--》指支撑性IT语境中的框架,特指为解决一个开放性问题而设计的具有一定约束性的支撑结构,在此结构上可以根据具体问题扩展、按插更多的组成部分,从而更迅速和方便地架构完整的解决问题的方案。

1)框架本身一般不完整到可以解决特定问题,但是可以帮助您快速解决特定问题:

没有框架所有的工作都从零开始做,有了框架,为我们提供了一定的功能。我们就可以在框架的基础上开发,极大的解决了生产力。

不同的框架,是为了解决不同领域的问题,一定要为了解决问题才去学习框架。

2)框架天生就是为了扩展而设计的

3)框架里面可以为后续的组件提供很多辅助性、支撑性的方便易用的实用工具(utilities),也就是框架时常配套一些帮组解决某类问题的库(libraries)或工具(tools).

在java中就是一系列的jar包,其本质就是对jdk功能的扩展。


简单说一下MVC框架?

是为了解决传统MVC模式(jsp+servlet+javabean)一些问题而出现的框架

传统MVC模式模式问题:

1) 所有的Servlet和Servlet映射都要配置在web.xml中,如果项目太大,web.xml就太庞大并且不能实现模块化管理。

2)Servlet的主要功能就是接受参数、调用逻辑、跳转页面,比如像其他字符编码、文件上传等功能也要写在Servlet中,不能让Servlet主要功能而需要做处理一些特例。

3)接受参数比较麻烦

(String name = request.getParameter(“name”)),不能通过model接受,只能单个接收,接收完成后转换封装model。

4)跳转页面方式比较单一(forward,redirect),并且当我们的页面名称发生改变时需要改变Servlet源代码。

现在比较常用的MVC框架:

webwork

Struts

Struts2

SpringMVC

相关文章
|
机器学习/深度学习 并行计算 PyTorch
安装GPU版本tensorflow、pytorch
安装GPU版本tensorflow、pytorch
安装GPU版本tensorflow、pytorch
|
存储 JavaScript 前端开发
VSCode安装配置使用教程(最新版超详细保姆级含插件)一文就够了
Visual Studio Code 是一个轻量级功能强大的源代码编辑器,支持语法高亮、代码自动补全(又称 IntelliSense)、代码重构、查看定义功能,并且内置了命令行工具和 Git 版本控制系统。适用于 Windows、macOS 和 Linux。它内置了对 JavaScript、TypeScript 和 Node.js 的支持,并为其他语言和运行时(如 C++、C#、Java、Python、PHP、Go、.NET)提供了丰富的扩展生态系统。为了不影响读者的沉浸式阅读学习,如需使用目录请在左侧使用即可。
8097 10
VSCode安装配置使用教程(最新版超详细保姆级含插件)一文就够了
|
5月前
|
机器学习/深度学习 缓存 测试技术
LongCat-Flash-Thinking 正式发布,更强、更专业,保持极速!
LongCat-Flash-Thinking 正式发布,更强、更专业,保持极速!
231 0
|
存储 API 计算机视觉
自学记录HarmonyOS Next Image API 13:图像处理与传输的开发实践
在完成数字版权管理(DRM)项目后,我决定挑战HarmonyOS Next的图像处理功能,学习Image API和SendableImage API。这两个API支持图像加载、编辑、存储及跨设备发送共享。我计划开发一个简单的图像编辑与发送工具,实现图像裁剪、缩放及跨设备共享功能。通过研究,我深刻体会到HarmonyOS的强大设计,未来这些功能可应用于照片编辑、媒体共享等场景。如果你对图像处理感兴趣,不妨一起探索更多高级特性,共同进步。
660 11
|
10月前
|
JSON 人工智能 前端开发
用markdown语法制作一个好看的网址导航页面(markdown-web-nav)
这是一篇关于创建网址导航页面的工具分享文章。作者介绍了从手动编写HTML代码到开发可视化工具 *markdown-web-nav* 的历程,旨在简化网址管理与导航页面生成的过程。该工具支持新增、编辑和删除网址数据,通过导入/导出JSON文件、实时预览Markdown效果以及一键复制等功能,让用户轻松制作美观的网站导航页面。文章还提供了详细的操作步骤及常见问题解答,如还原数据、获取网站图标链接等,适合不同技术水平的用户使用。
555 28
|
存储 缓存 Dart
Flutter&鸿蒙next 封装 Dio 网络请求详解:登录身份验证与免登录缓存
本文详细介绍了如何在 Flutter 中使用 Dio 封装网络请求,实现用户登录身份验证及免登录缓存功能。首先在 `pubspec.yaml` 中添加 Dio 和 `shared_preferences` 依赖,然后创建 `NetworkService` 类封装 Dio 的功能,包括请求拦截、响应拦截、Token 存储和登录请求。最后,通过一个登录界面示例展示了如何在实际应用中使用 `NetworkService` 进行身份验证。希望本文能帮助你在 Flutter 中更好地处理网络请求和用户认证。
770 1
|
消息中间件 网络协议 物联网
东八区小小白的第一台云服务器
近期在完成一个物联网IOT项目,在做内网穿透的过程中遇到了很多问题,发现有一个公网IP在开发中还是很有必要的,于是选择了阿里云平台,进行阿里云学生认证并完成相应任务后,获得了则记的第一台云服务器。 在系统的选择上,我选择了Ubuntu18.04。并基于此系统完成了我的MQTT服务器搭建。
东八区小小白的第一台云服务器
|
XML Oracle Java
Flowable工作流入门看这篇就够了
Flowable工作流入门看这篇就够了
19819 1
|
域名解析 JavaScript 小程序
1分钟部署vue静态网站,借助云开发静态网站部署属于自己的网站
1分钟部署vue静态网站,借助云开发静态网站部署属于自己的网站
1384 0
|
监控 搜索推荐 前端开发
数仓建模—ID Mapping
顾名思义我们知道ID Mapping 的操作对象是ID,目标或者是动作是Mapping,也就是说我们要做的事情其实就是想把不同平台不同设备上的ID 打通,从而更好的去刻画用户,也就是说我们希望能打通用户各个维度的数据,从而更好的去服务业务服务用户 通常公司有产品矩阵,而每个产品都有自己的注册账号产生的用户ID。从公司全局,整合用户表,用户行为数据来看,确定不同产品的用户ID是相同一个人非常重要, 选取合适的用户标识对于提高用户行为分析的准确性有非常大的影响,尤其是对用户画像、推荐、漏斗、留存、Session 等用户相关的分析功能
1319 0
数仓建模—ID Mapping