学习SSM笔记-1(web框架初识)

什么是框架?

许多框架遵循MVC架构模式从用户接口中分离数据模型与业务规则。
架构模式是在给定上下文中解决软件架构中通用的、可重用的常见问题的解决方案。
架构模式解决了软件工程中的各种问题,例如计算机硬件性能限制,高可用性和业务风险最小化。

MVC架构

模型-视图-控制器(通常称为MVC)是一种软件设计模式,通常用于开发用户界面,将相关的程序逻辑分为三个可以相互连接的部分。这样做是为了将信息的内部表示形式与呈现给用户接收的信息分开。
MVC即Model-View-Controller(模型-视图-控制器)

Model

model是应用程序的动态数据结构,管理应用程序的数据、逻辑和规则,并从控制器接收用户输入。

View

view最终以特定格式展示model对象。
view代表信息的表示形式,例如图表、表格,同一种信息可以给多种表示形式,例如同一组数据用柱状图和饼状图来展示。

Controller

controller对象接受用户输入并过滤,把过滤后的数据传递给model对象。

优点

  1. 可同时开发

    多个开发人员可同时处理Model,Controller和View。

  2. 高内聚性

    MVC将相关的Actions一起放在了Controller中, 特定模型的view也被放在了一起。

  3. 松散耦合

    MVC框架的本质是一个View与Controller之间低耦合的模型

  4. 易于修改

    由于职责分离,开发、修改更加容易。

  5. 可测试性

    通过清晰地分离各部分,更好地独立测试每个部分。

缺点

  1. 代码可导航性

    引入了间接层导致框架导航可能很复杂,并且要求用户适应MVC的分解标准。

  2. 多组件一致性

    将特征分解为三个组件会导致较为分散。因此要求开发人员在代码管理上要有一致性。

  3. 必然破坏集中性

    应用程序在用户看到的内容和用户使用的内容之间进行大量交互。因此,每个功能的计算和状态会集中到Model,Controller和View三部分之一,从而消除了MVC所谓的优势。

常用web框架?

服务器端

  • Django(Python基于MVC架构的web应用框架)(开源)*
  • Express.js(Node.js基于MVC架构的web应用框架)(开源)*
  • Laravel( PHP基于MVC架构的Web应用框架)(开源)*
  • Ruby on Rails(Ruby基于MVC架构的web应用框架)(开源;推荐学习使用)*
  • Spring MVC(JAVA基于MVC架构的web应用框架)(社区版本开源)*
  • The Gravity Framework(Python基于MVC架构的web应用框架)(开源;推荐学习使用)
  • QCObjects( JavaScript基于MVC架构的Web应用框架)(开源;推荐学习使用)
  • Apache Wicket(JAVA基于MVC架构的Web应用框架)
  • ASP.NET Core(.NET基于MVC架构的web应用框架)(开源)
  • CakePHP(PHP基于MVC架构的web应用框架)(开源)
  • Catalyst(Perl基于MVC架构的web应用框架)(开源)
  • CodeIgniter(.NET基于MVC架构的web应用框架)(开源)
  • CppCMS(PHP基于MVC架构的web应用框架)
  • Gridfyx PHP( PHP基于MVC架构的Web应用框架)
  • Yii( PHP基于MVC架构的Web应用框架)
  • Mojolicious( Perl基于MVC架构的Web应用框架)(开源)
  • Sails.js(Node.js基于MVC架构的web应用框架)(开源)
  • Symfony( PHP基于MVC架构的Web应用框架)(开源)
  • Wt (web toolkit)(C++ 基于MVC架构的Web框架)(开源)
  • Zend Framework( PHP基于MVC架构的Web应用框架)(开源)

客户端

  • Backbone.js( JavaScript基于MVC架构的Web应用框架)(开源)*
  • AngularJS( JavaScript基于MVC架构的Web应用框架)*
  • Angular( TypeScript基于MVC架构的Web应用框架)
  • QCObjects( JavaScript基于MVC架构的Web应用框架)(开源)
  • EmberJS( JavaScript基于MVC架构的Web应用框架)*
  • ReactJS ( 基于MVC架构的JavaScript库)*
  • Vue.js( JavaScript基于MVC架构的Web应用框架)*

通用Web框架所具有的功能

简单网络通信

直接处理HTTP请求和响应
Web服务器和浏览器通过HTTP协议进行通信,服务器等待来自浏览器的HTTP请求,然后在HTTP响应中返回信息。Web框架使用户可以通过框架快速处理这些请求和响应。

路由

URL路由。
大多数站点将提供许多不同的资源,可通过不同的URL进行访问。一起处理所有这些内容将很难维护,因此Web框架提供了将URL模式映射到特定处理程序功能的简单机制,可以更改用于交付特定功能的URL,而不必更改基础代码。

表单验证

输入表单管理和验证。

快速访问请求中的数据

可以通过多种方式在HTTP请求中对数据进行编码。
GET:从服务器获取文件或数据的HTTP 请求可以编码URL参数中或URL结构中所需的数据。
POST:用于更新服务器上资源的HTTP 请求将在请求的正文中包含更新信息作为POST数据
HTTP请求还可以在客户端Cookie中包含有关当前会话或用户的信息。

模板引擎

Web框架通常提供模板系统,具有模板引擎的HTML、XML、JSON和其他组件设置。
这些允许您使用占位符指定输出文档的结构,该占位符用于将在生成页面时添加的数据。模板通常用于创建HTML,但也可以创建其他类型的文档。Web框架还通常提供一种机制,使从存储的数据轻松生成其他格式变得容易,包括JSONXML

数据库操作

抽象并简化数据库访问,通过对象关系映射器(ORM)进行数据库连接配置和确定性数据操作。
网站使用数据库来存储要与用户共享以及有关用户的信息。Web框架通常提供抽象数据库读取、写入、查询和删除操作的数据库层,此抽象层称为对象关系映射器(ORM)。

使用ORM的优点:

  • 可以替换基础数据库,而不必更改使用它的代码。这使开发人员可以根据使用情况针对不同数据库的特性进行优化。
  • 数据的基本验证可以在框架内实现,这使得检查数据是否存储在正确的数据库字段类型中、是否具有正确的格式(例如电子邮件地址)以及任何方式都不被恶意破坏变得更加容易和安全。

web安全

针对跨站点请求伪造(CSRF)、SQL注入、跨站点脚本(XSS)和其他常见恶意攻击的Web安全防护。

Session

Session(会话)存储和检索。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值