SpringMVC介绍和使用

【Hadoop】开发插件安装 前言 Eclipse 是一个开放源代码的、基于 Java 的可扩展开发平台。就其本身而言,它只是一个框架和一组服务,用于通过插件组件构建开发环境。幸运的是Eclipse 附带了一个标准的插件集,包括 Java 开发工具(Java Development Tools,JDT)。 Eclipse的插件机制是轻型软件组件化架构。在客户机平台上,Eclipse使用插件来提供所有的附加功能,例如支持Java... 阅读详情

 

一、概念介绍

 

1.1三层结构介绍

我们的开发架构一般都是基于两种形式,一种是 C/S 架构,也就是客户端/服务器;另一种是 B/S 架构,也就是浏览器服务器。在 JavaEE 开发中,几乎全都是基于 B/S 架构的开发。那么在 B/S 架构中,系统标准的三层架构包括:表现层、业务层、持久层

  • 表现层
    • 也就是我们常说的web层,她负责接收客户端请求,向客户端相应结果,通常客户端使用http协议请求web层,web需要接收http请求,完成http响应
    • 表现层包括展示层和控制层:控制层负责接收请求,展示层负责结果的展示
    • 表现层依赖业务层,接收到客户端请求一般会调用业务层进行业务处理,并将处理结果响应给客户端
    • 表现层的设计一般都使用 MVC 模型。(MVC 是表现层的设计模型,和其他层没有关系)
  • 业务层
    • 也就是我们常说的 service 层。它负责业务逻辑处理,和我们开发项目的需求息息相关。web 层依赖业务层,但是业务层不依赖 web 层
    • 业务层在业务处理时可能会依赖持久层,如果要对数据持久化需要保证事务一致性。(也就是我们说的, 事务应该放到业务层来控制)
  • 持久层
    • 也就是我们是常说的 dao 层。负责数据持久化,包括数据层即数据库和数据访问层,数据库是对数据进行持久化的载体,数据访问层是业务层和持久层交互的接口,业务层需要通过数据访问层将数据持久化到数据库中。通俗的讲,持久层就是和数据库交互,对数据库表进行增删改查的。

 

1.2 MVC设计模式介绍

MVC 全名是 Model View Controller,是模型(model)-视图(view)-控制器(controller)的缩写, 是一种用于设计创建 Web 应用程序表现层的模式。MVC 中每个部分各司其职:

  • Model(模型)
    • 模型包含业务模型和数据模型,数据模型用于封装数据,业务模型用于处理业务
  • View(视图)
    • 通常指的就是我们的 jsp 或者 html。作用一般就是展示数据的。
    • 通常视图是依据模型数据创建的
  • Controller(控制器):
    • 是应用程序中处理用户交互的部分。作用一般就是处理程序逻辑的。

 

1.3SpringMVC介绍

 

Spring MVC是什么?

  • SpringMVC 是一种基于 Java 的实现 MVC 设计模型的请求驱动类型的轻量级 Web 框架,属于 SpringFrameWork 的后续产品,已经融合在 Spring Web Flow 里面。Spring 框架提供了构建 Web 应用程序的全功能 MVC 模块。使用 Spring 可插入的 MVC 架构,从而在使用 Spring 进行 WEB 开发时,可以选择使用 Spring 的 Spring MVC 框架或集成其他 MVC 开发框架,如 Struts1(现在一般不用),Struts2 等。
  • SpringMVC 已经成为目前最主流的 MVC 框架之一,并且随着 Spring3.0 的发布,全面超越 Struts2,成为最优秀的 MVC 框架。
  • 它通过一套注解,让一个简单的 Java 类成为处理请求的控制器,而无须实现任何接口。同时它还支持RESTful 编程风格的请求。

总之:

Spring MVC和Struts2一样,都是为了解决表现层问题的web框架,它们都是基于MVC设计模式的。而这些表现层框架的主要职责就是处理前端HTTP请求。

 

 

Spring MVC由来?

Spring MVC全名叫Spring Web MVC,它是Spring家族Web模块的一个重要成员。这一点,我们可以从Spring的整体结构中看得出来:

 

为什么学习SpringMVC?

 

SpringMVC的市场占有率是40%,而Struts2只有可怜的6%。这已然说明了学习SpringMVC的必要性了,再说了,SpringMVC本身就是spring家族的一员,与整合spring时,SpringMVC根本无需中间整合包,而struts2得需要。

&

2026实测可用!4个专业AI Agent Skills垂直搜索平台对比 📊本文以表格形式整理4个实测可用的专业AI Agent Skills垂直搜索平台,涵盖资源规模、适配生态等关键维度🤖,适合开发者按需选择技能获取渠道,解决平台筛选与访问难题✨ 阅读详情

相关推荐

uniapp串口通信实战:从零搭建物联网设备控制App(附完整代码)

本文详细介绍了如何使用Uniapp实现串口通信,从零搭建物联网设备控制App。内容涵盖环境配置、串口初始化、数据收发、错误处理等核心功能,并提供了完整的代码示例,帮助开发者快速掌握跨平台串口通信技术,适用于智能农业、工业自动化等物联网场景。

weixin_30369041的博客 597

强化学习——day16 动态规划算法

动态规划(dynamic programming)是程序设计算法中非常重要的内容,能够高效解决一些经典问题,例如背包问题和最短路径规划。动态规划的基本思想是将待求解问题分解成若干个子问题,先求解子问题,然后从这些子问题的解得到目标问题的解。动态规划会保存已解决的子问题的答案,在求解目标问题的过程中,需要这些子问题答案时就可以直接利用,避免重复计算。本章介绍如何用动态规划的思想来求解在马尔可夫决策过程中的最优策略

想太多的学习日志 1550

6.4 构网型储能的需求与配置

摘要: 构网型储能是新型电力系统的关键支撑技术,通过提供电压/频率形成、惯性和稳定控制能力,解决同步机退出导致的系统稳定性问题。其配置需遵循三大原则:1)容量配置以支撑需求为主导,兼顾能量服务;2)优先布局于电网薄弱点、稳定问题突出区域;3)采用自适应控制策略实现全工况优化。核心应用场景包括新能源送出通道稳定、负荷中心调频、黑启动电源等。规划方法需结合系统分析、量化指标和成本效益评估,实现技术经济最优。未来需重点关注构网/跟网混合系统的临界容量占比及自适应控制技术发展。

技术工作者 1140

用Frida-RPC搞定大麦App最新版签名:一个脚本解决x-sign和x-mini-wua

本文深入解析大麦App最新版签名机制(x-sign和x-mini-wua),详细介绍如何利用Frida-RPC技术开发稳定脚本获取签名参数。通过实战案例展示Java上下文切换、参数序列化等关键技术解决方案,为安全研究和技术验证提供可靠方案。

weixin_42525738的博客 640

android广告SDK原理详解(附源码)

广大的开发者吃糠咽菜开发了一两款APP,获取了一些流量后自然就会想到流量变现,一般情况下大家会选择到百度联盟或者Google Admob这些广告服务提供商注册开发者账号,在自己的APP里面加上几行广告位代码,集成他们的广告SDK包。然后谋事在人,成事在天,只有每天看报表查查收益。   也有一些开发者为了能够提高自己的变现水平,同时接入了好几家的sdk,哪家出的收益高一点我就出哪家的广告,但是这

rmcgogo的博客 1万+

FPGA JTAG接口设计全解析

JTAG是FPGA开发的核心接口,主要用于代码下载和在线调试。14-pin设计中包含TCK、TMS、TDI、TDO四个关键信号,采用信号-地布局增强抗干扰能力,TCK建议串联电阻。10-pin设计需注意转接适配,并推荐使用RCLAMP0524P等低电容TVS二极管进行ESD防护。两种接口设计都强调信号完整性和可靠性,建议PCB布局时保持JTAG走线短且预留调整空间。

在读研究生,FPGA电路设计与功能开发。 2181

038、OIS 光学防抖原理与调试:陀螺仪数据融合、Lens Shift OIS 的闭环控制

本文分享了OIS光学防抖系统的调试经验和关键技术要点。作者通过一个"呼吸感"Bug案例,揭示了陀螺仪数据融合和闭环控制的重要性。系统介绍了OIS的三个关键层次:传感器层(陀螺仪特性)、控制层(复合算法)和执行层(闭环控制)。重点讲解了陀螺仪数据融合的互补滤波实现、Lens Shift闭环控制的PID优化策略(包括积分抗饱和和微分滤波),以及前馈补偿的应用。最后总结了调试中的关键问题:数据同步、霍尔校准、温度补偿和性能评估方法,并给出实用建议:平衡算法复杂度与性能、预留带宽余量、重视产线校准等。文章强调OIS

sundong_81的博客 257

12、每日卫星任务规划问题的不同公式

本文探讨了卫星任务规划问题的多种数学公式表示方法,包括传统的整数线性规划(ILP)模型、改进的基于路径的公式、基于集合覆盖的公式以及动态规划公式。通过案例研究比较了不同公式的求解效率和适用场景,并提供了使用Python进行实际求解的操作步骤。最后讨论了进一步优化策略及未来研究方向,旨在为解决卫星任务规划问题提供全面的理论支持和实践指导。

assembly8low的博客 203

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

efm32 入门.pdf

本PDF共计22页,介绍的是操作驱动API,下载与否自己斟酌。

蓝牙模块HM-10手册

蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。

lwip-2.0.3

lwip是瑞典计算机科学院(SICS)的Adam Dunkels 开发的一个小型开源的TCP/IP协议栈。实现的重点是在保持TCP协议主要功能的基础上减少对RAM 的占用。

上一篇: docker+prometheus+grafana+alertmanager告警安装使用 (图文详解)
下一篇: MyCat介绍和使用
JackRenEngineer
博客等级 码龄10年 37粉丝 120原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值