SpringMvc 入一下门先

SpringMVC 接口开发实现 上篇文章讲解了SpringMVC 入门,这篇文章使用SpringMVC 来开发接口。记得之前有一篇文章 java web开发(二) 接口开发,是使用Servlet开发的接口。如果你还未了解,可以先看看这篇文章。好了,我们进入主题。 在开始这篇文章之前,请先阅读请参考java web开发(二) 接口开发这篇文章。 一、搭建环境。这一步骤 请参考上篇文章, SpringM... 阅读详情

每天叫醒你的不是闹钟,而是梦想

● 前言

        说到SpringMVC,你是否和我一样有着同样的烦恼。看着那眼花缭乱的流程图,写着一长串的配置文件,用了数不清的注解,例如@RestController、@RequestMapping。那为了让你可以更好的学习SpringMVC,小编决定授予一套SpringMVC使用秘籍以及说明书。让我们开始今天的学习吧。

●MVC设计模式

      在正式接触前呢,为了让你可以更容易的了解SpringMVC,我们先来了解一下MVC设计模式。

MVC我们拆开来说:

Model(模型):负责在后端业务处理和访问的数据库中的数据的

View(视图):负责在前端展示由模型传来的数据的

Controller(控制器):负责处理前端的请求,然后将处理后的数据返回给浏览器

那么,在没有学习框架前呢,我们最常用的一种MVC就是javabean+servlet+jsp,是不是没看懂?那我再给你换个样,(dao+service)+servlet+jsp。这下熟悉了吧,我们最常用的三层开发。而我们的SpringMVC正是符合这样的设计模式。(MVC设计模式与框架是不同的概念,不要搞混咯)

●SpringMVC概述

SpringMVC是一个轻量级的web框架,是Spring框架的一部分。在MVC设计模式中担当了WEB项目的Controller,他的底层就是servlet。

(那就有人要问了,我不用MVC难道不可以写出一个web程序嘛。那当然不是,在我们写web项目的时候,如果网站业务很简单的话,你甚至都可以写在jsp部分。但是如果业务很多很庞大的话,小编还是推荐使用MVC设计模式来编写WEB项目。接下来就需要你和我一起做了,我们来一起来搭建SpringMVC吧)

● SpringMVC框架搭建

1、在开发工具中编写一个web项目,在项目下添加resource源文件夹(存放配置文件)并且在WEB-INF下添加jsp文件夹(存放视图)。

2、把jar文件复制到lib目录下(通常时自动导入,如果没有的话,手动可以使用buildPath来手动导入,里面包含的是Spring的五个基本jar包和SpringMVC的两个jar包)

View内容

编写Controller

3、编写配置文件

在resource源文件下创建applicationContext-servlet.xml文件

4、编写web.xml文件

5、部署运行结果

那上面呢,就是搭建SpringMVC的步骤了,根据上面的步骤做,就可以搭建一个简单的SpringMVC了,接下来由小编来跟你汇报一下,SpringMVC都做了哪些工作

●SpringMVC工作流程

在SpringMVC中有这么几个组件:

  • DispatcherServlet:前端控制器,用于接收浏览器端的请求;返回响应结果,渲染视图

  • HandlerMapping:处理器映射器,根据请求信息找到处理请求的处理器

  • HandlerAdatper:处理器适配器,调用处理器方法的对象

  • DataBinder:数据绑定,负责数据绑定,数据格式化,数据校验

  • Handler:处理器,后端控制器,负责业务逻辑处理

  • ViewResolver:视图解析器,负责找到真正的视图对象

●SpringMVC的好处

  • 清晰地角色划分。SpringMVC在Model、View、Controller方面提供了一个非常清晰的角色划分、这三个方面真正是各司其职、各负其责。

  • 灵活的配置功能。因为Spring的核心是Ioc,同样实现在MVC上,也可以把各种类当做Bean来通过XML进行配置。

  • 提供了大量的控制器接口和实现类。开发者可以使用Spring提供的控制器实现类,也可以自己实现控制器接口。

  • 真正做到与View层的实现无关(JSP、Velocity、XSLT等)。他不会强制开发者使用JSP也可以根据项目需求使用Velocity、XSLT等技术、使用起来更加灵活

  • 国际化支持

  • 面向接口编程

  • Spring提供了Web应用开发的一整套流程,不仅仅是MVC,他们之间可以很方便地结合一起

专注分享Java技术,跟我一起学习吧

长按识别二维码关注

RDD2022 数据格式转换与清洗 Rdd2022数据集,是关于道路损伤的数据集,与rdd2020相比增加了两万多张图片但是由于格式不能被yolo直接使用且其中有大量的图片没有符合要求的标注,特写此文章记录数据清洗与格式化的过程。 阅读详情

相关推荐

模型量化必知:Per-Tensor和Per-Channel到底怎么选?

本文深入解析了模型量化中Per-Tensor与Per-Channel两种核心策略的抉择。Per-Tensor量化实现简单、硬件兼容性极佳,适合激活值或分布均匀的权重;而Per-Channel量化精度更高,能更好地处理权重分布不均的卷积层,是现代CNN权重量化的主流。文章提供了从硬件平台、数值分布到精度需求的实战决策框架,并推荐了“权重Per-Channel,激活Per-Tensor”的混合量化最佳实践。

assembly8low的博客 983

SpringMVC笔记- 不配置HandlerMapping

使用SpringMVC框架时发现有的配置了HandlerMapping,而有的没有,那么它们有什么区别呢?不配置能不能正常使用框架呢? 下面我们看一看不配置任何HandlerMapping时,框架会使用什么? 下面我们注释掉框架中配置HandlerMapping的代码 <?xml version="1.0" encoding="UTF-8"?> 2 <be...

295

搭建Dzzoffice 教程

通过以上步骤,您已经成功配置了WEB环境,安装了DzzOffice,并完成了系统设置和应用安装。1.安装包的设置默认是系统盘之外的第二个盘,没有其他盘符的时候则安装在C盘,当主机盘符只有C盘可用的时候,安装时不要使用U盘,否则可能误装到U盘当中。4.如果之前已经安装,再次安装时请确保上次安装已经卸载或者所有文件可读,否则请备份文件,卸载之后再安装。在其他安装环境中,我没有相关的使用经验。3. 保证安装路径是纯净的,安装路径下不能有已安装的V8版本,若重新安装,请选择其它路径。

小胡的博客 4949

springMVC之HandlerMapping

忙碌的协调人HandlerMapping HandlerMapping帮助DispatcherServlet进行web请求的url到具体处理类的匹配,之所以称为HandlerMapping,是因为处理类在springMVC中都称为Handler(我们通常打交道的都是Controller,但处理器绝不仅仅只能是Controller),但是查看HandlerMapping唯一的接口可以发现返回类型不是Hanlder,而是HandlerExecutionChain,这其实就是Hanlder的包装类而已,包含了一些

原之殇 563

MacBook用户必看:用Homebrew一键搞定frp内网穿透(含阿里云配置模板)

本文为MacBook用户提供基于Homebrew的frp内网穿透实战指南,详细介绍了从环境准备到阿里云服务器配置的全过程。通过Homebrew一键安装frp客户端,结合阿里云配置模板,实现高效稳定的内网穿透,适用于远程开发、IoT设备调试等多种场景。

weixin_28692817的博客 321

Unity游戏接入穿山甲广告SDK全攻略:从零到上线的避坑指南

本文为Unity开发者提供了接入穿山甲广告SDK的完整实战指南。详细解析了从账号注册、应用创建到Unity插件集成、安卓与iOS平台打包配置的全流程,并重点分享了广告加载失败、展示异常等常见问题的排查与解决方案,帮助开发者高效实现游戏广告变现。

weixin_29015899的博客 535

《学会 SpringMVC 系列 · 剖析入参处理》

通过上一篇博文《学会 SpringMVC 系列 · 剖析篇(上)》的学习,大致了解了SpringMVC请求流程的代码走向。由于篇幅所限,没有介绍的十分详尽,接下来几篇博文,将流程中涉及的若干关键环节单独拿出来讲解,并结合实战中的运用,帮助领略SpringMVC带来的定制和扩展能力。相关博文《学会 SpringMVC 系列 · 基础篇》《学会 SpringMVC 系列 · 剖析篇(上)》《程序猿入职必会(1) · 搭建拥有数据交互的 SpringBoot 》

山人行 1675

nRF24L01模块性能调优笔记:基于STC8H的SPI通信,如何突破700包/秒的传输瓶颈?

本文详细介绍了如何通过SPI通信优化、nRF24L01寄存器配置和STC8H系统级调优,突破700包/秒的传输瓶颈。从硬件设计到软件实现,提供了一套完整的性能调优方案,特别适合需要高性能无线通信的嵌入式开发者。

weixin_42525211的博客 180

springmvc入参传递总结

例如:StudentAjax请求/*必须与自定义对象的属性名保持一致*/"name": "张三","age": 12$.ajax({url: url,});Action接收System.out.println("学生的姓名:" + name + ";年龄:" + age);例如:简单对象(String, Integer)和自定义对象Student混合Ajax请求/*name、age必须和Student的属性一致,className、classNum必须和后台参数名一致*/

weixin_44471566的博客 1305

基于Python API的ECMWF大气数据批量下载与自动化处理实践

本文详细介绍了如何利用Python API实现ECMWF大气数据的自动化批量下载与处理。针对遥感分析中手动下载ERA5等数据的痛点,文章提供了从API密钥配置、核心脚本编写到元数据解析、任务队列调度及数据质量检查的全流程实践指南,旨在帮助科研与工程人员高效获取并处理大规模气象数据。

u8v9w0x1y的博客 479

【Python开发者必看】Windows下Python版本管理器Pyenv安装使用,轻松管理Python版本的入门与进阶指南,从此告别Python环境不兼容的噩梦

好了,关于 【Python开发者必看】Windows下Python版本管理器Pyenv安装使用,轻松管理Python版本的入门与进阶指南,从此告别Python环境不兼容的噩梦 就写到这儿了,如果还有什么疑问或遇到什么问题欢迎扫码提问,也可以给我留言哦,我会一一详细的解答的。1、手动下载对应版本到 pyenv-win\install_cache 目录(如上手动操作安装步骤,文件名需匹配,如 python-3.10.0-amd64.exe)。该指令会列出,pyenv包管理工具所支持的所有python版本,

Spring Boot-Common On With You 851

SpringMVC的入参转换和响应参数转换

在上一篇文章中讲了大概的执行流程,这里详细讲一下入参转换和响应转换的实现原理 入参转换和响应转换的流程都是在通过Adapter调用HandlerMethod时发生的。 如下是请求头设置,SpringMVC会根据content-type和accept类型选择合适的HttpMessageConverter来进行消息的转换 参数转化 private Object[] getMethodArgument...

Mutou_ren的博客 1263

SPICE仿真软件:HSPICE_(20).HSPICE仿真结果的后处理

HSPICE仿真结果的后处理是一个多步骤的过程,包括读取结果文件、可视化、分析和导出。通过使用命令行工具、Python脚本和HSPICE内置工具,可以高效、准确地完成这些任务。Python脚本的灵活性和强大的数据分析能力使其成为后处理的理想选择。自动化处理可以显著提高工作效率,减少人为错误,而高级分析方法可以更深入地理解仿真结果,为电路设计提供有力支持。

kkchenjj的博客 1382

SpringMVC-初入SpringMVC

SpringMVC-初入SpringMVC SpringMVC是基于Spring的一个框架本质上就是Spring的一个模块,专门做web开发的。

Amnesiar的博客 190

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

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

efm32 入门.pdf

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

反射获得springmvc的所有方法,入参出参

@RequestMapping("/test") public void test(HttpSession session) throws Exception { //获取所有被RestController注解的类 WebApplicationContext wc = WebApplicationContextUtils.getRequiredWebApplicationContext(se...

c_firechicken的博客 837

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

springMVC4(3)方法入参灵活绑定

在原生Servlet中,我们通过在doGet和doPost方法绑定web资源访问接口:HttpServletRequest和HttpServletResponse到入参来进一步通过request.getParameter()等方法获取我们的web资源。在SpringMVC中,我们一样可以将HttpServletRequest和HttpServletResponse绑定到入参中使用,但除此之外,Spr

总结沉淀 4232

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

SpringMVC——初入SpringMVC

什么是MVC MVC就是M(model,模型),V(view,试图),C(controller,控制器)的缩写,是一种软件设计规范。就是将业务逻辑、数据、显示分离的方法来组织代码。MVC主要作用是降低了视图与业务逻辑间的双向偶合。MVC不是一种设计模式,MVC是一种架构模式。 ​Model(模型):数据模型,提供要展示的数据,因此包含数据和行为,可以认为是领域模型或JavaBean组件(包含数据和...

Stay Hungry Stay Foolish 486

SpringMVC 入参出参数据类型转换

文章目录入参Spring类型转换为Date类型出参Long类型转换为String类型出参long类型时间戳转换为格式化日期字符串 入参Spring类型转换为Date类型 如果前端传递的是日期字符串,比如"2017-10-23 19:46:45",而我们在Controller中直接用Date类型接收,会报出如下异常: Failed to convert value of type ‘java.la...

闰土CMS 1334

SpringMVC POJO入参过程分析

SpringMVC确定目标方法POJO类型的入参过程 1、确认一个key:   (1)、若目标方法的POJO类型的参数没有使用@ModelAttribute作为修饰,则key为POJO类名第一个字母的小写   (2)、若使用@ModelAttribute来修饰,则key为@ModelAttibute注解的value属性值。 @RequestMapping("/updateUs...

dekejiao5921的博客 198

Insight springmvc常用的入参解析器

controller方法常用的两种入参解析 springmvc 对于controller 方法的入参解析,常用到的有两种: 1.基于request请求参数、Form表单参数实现解析功能,如简单类或者自定义类入参; 2.基于request body实现解析功能,如@RequestBody 注解类入参。 ...... springmvc 实现的两种方法入参解析器 1.针对上述的简单类和自定...

原来是这样啊 472

SpringMVC浅入了解

SpringMVC学习笔记 MVC设计模式 其实在之前JavaWeb阶段我们已经接触到了MVC模式。 MVC里面的M指的的Model(通常包含bean、dao(mapper)、service);V指的是View,视图层,视图层主要的技术(JSP、HTML、FreeMaker、Themeleaf);C指的是Controller,控制层。控制层不负责具体数据、逻辑的处理和运算,它只负责将Model层的结果返回给对应的视图层去展示。 在JavaWeb阶段, Controller层指的就是Servlet; Vie

优快云_lol的博客 319

SpringMVC确定入参POJO的对象

前边我们讲了SpringMVC的概述、SpringMVC如何通过注解将前台页面的请求映射到处理方法中并将请求内容传入到目标方法的参数中、SpringMVC如何将模型数据放入到域对象中以便我们在目标页面获取。即SpringMVC是一个比Struts2优秀的WEB框架,它可以使用注解将一些普通的Java类编程控制器,还支持Rest(资源表现状态转换)风格的URL请求,以及它是一个可插拔的松散耦合结果,

qq792020962的博客 542

SpringMVC Controller方法入参映射探秘

SpringMVC Controller方法入参映射探秘 #1、不惑方式 public String addUser(@RequestParam(value="userName") String userName){ ... } #2、第二/三种方式 ```java public String addUser(@RequestParam String userName)

New World 9241

SpringMVC篇: 入参出参通过JsonProperty属性转换

工作中会遇到和前端对接的相关事宜,很多时候可能是并行开发,但是很多时候这个数据结构到底是前端定义还是后端给出一直有点模糊不清。 问题: 如果是前端定义,后端把接口开发完成之后,发现数据和你的名称对不上,可能需要进行格式转换,比较麻烦,作为后端人员可能会比较排斥。 如果是后端定义: 前端各种催,接口出来了没,我要对接了。 其实从效率上来讲,应该是前端来定义数据结构文档,会比较快捷。 这里其实...

长沙要起风了、 2196

SpringMVC--初入SpringMVC

后台人员主要处理数据库交互以及请求交互,即DAO层和Controller层,其中MyBatis是对应DAO层的框架,SpringMVC则是对应Controller层的框架,SpringMVC对Servlet进行了封装,目的就是为了简化开发 一、项目配置 创建war项目,选择使用maven模板: 依赖导入: <!--spring核心容器包--> <depe...

aruba的博客 173

SpringMVC ~ 从入门到入坑。

SpringMVC ~ 从入门到入坑。

lyfGeek的博客 499
上一篇: 数据结构 -- 栈(stack)队列 (queue)
下一篇: 这一行代码到底做了什么?
新时代Java农民工
博客等级 码龄7年 16粉丝 116原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值