什么是springmvc(介绍)

这篇具有很好参考价值的文章主要介绍了什么是springmvc(介绍)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

1. 什么是springmvc

Spring Web MVC是一种基于Java的实现了MVC设计模式的、请求驱动类型的、轻量级Web框架。

ssm:即springmvc, spring, mybatis
视图层 业务层 持久层
ssm springmvc spring mybatis
ssh2 struts2 spring hibernate

2.项目中加入springmvc支持

2.1 导入依赖

<dependency>
    <groupId>org.springframework</groupId>
    <artifactId>spring-webmvc</artifactId>
    <version>${spring.version}</version>
</dependency>

<!--  JSTL依赖 原因:org.springframework.web.servlet.view.JstlView在视图解析时需要这二个jar包-->
<dependency>
  <groupId>jstl</groupId>
  <artifactId>jstl</artifactId>
  <version>1.2</version>
</dependency>
<dependency>
  <groupId>taglibs</groupId>
  <artifactId>standard</artifactId>
  <version>1.1.2</version>
</dependency>

2.2 springMVC配置文件

将spring-mvc.xml放入WEB-INF目录下,详细信息见配置文件中的注释。

注:关于注解扫描的优化:

  • 在使用spring+springmvc时会存在两个上下文,一个父上下文spring上下文,一个子上下文springmvc上下文,springmvc上下文可以访问父上下文(即spring上下文),但spring上下文不能访问到子上下文(即springmvc上下文)。
  • 优化思路:spring中配置的注解扫描排除掉controller,而springmvc配置文件中的注解扫描则只需要扫描controller即可。具体配置详见课件中的配置文件。
    什么是springmvc(介绍),java,spring,mvc,spring,mvc,java

2.3 web.xml配置

web.xml放入WEB-INF目录,替换原来的配置文件。需要理解配置文件的各个部分的作用。

2.4 中文编码处理

EncodingFiter.java,将入项目并在web.xml中配置,以便于处理中文编码。

3. 编写一个简单的controller

什么是springmvc(介绍),java,spring,mvc,spring,mvc,java
注: 示例中用到的注解:

  • @Controller:该注解在springmvc中用于标记一个控制器,类似的注解还有@RestController,不同的是@RestController专门用于标记一个rest风格的接口,相当于@ResponseBody + @Controller合在一起的作用。
  • @RequestMapping:该用于标记请求路径,在有些参考资料中也称之为服务端点,该注释可以用在方法上也可以用在类上。

使用浏览器测试,如果服务后台输出了提示字符串,则说明配置成功,现在页面上会显示错误,因为目前还没有配置页面。

4. 视图层配置

4.1 视图解析器配置

什么是springmvc(介绍),java,spring,mvc,spring,mvc,java
注: 如果是前后端分离的开发方式则不需要配置。

4.2 静态资源配置

示例:
什么是springmvc(介绍),java,spring,mvc,spring,mvc,java
为了方便配置可以将所有的静态资源放置在static目录中,具体配置如图所示:
什么是springmvc(介绍),java,spring,mvc,spring,mvc,java
注: 如果加该配置,则不能正常显示图片, 可以注释掉测试看看。

4.2 编写页面

1)编写一个测试页面
什么是springmvc(介绍),java,spring,mvc,spring,mvc,java
2)修改controller的配置
什么是springmvc(介绍),java,spring,mvc,spring,mvc,java

4.3 页面跳转方式

1)转发: “forward:path”
什么是springmvc(介绍),java,spring,mvc,spring,mvc,java
2)重定向: “redirect:path”
什么是springmvc(介绍),java,spring,mvc,spring,mvc,java
注: 因为页面文件放置在了WEB-INF目录下,所以不能直接重定向到页面,注意看示例。

5. SpringMVC处理请求的流程

主要组件

1 首先用户发送请求-->DispatherServlet
2 DispatcherServlet-->HandlerMapping
3 DispatcherServlet-->HandlerAdapter
4 HandlerAdapter-->处理器功能处理方法的调用
5 ModelAndView的逻辑视图名-->ViewRecolver
6 View-->渲染
7 返回控制权给DispatcherServlet,由DispatcherServlet返回呼应给用户,流程结束

处理流程示意图:
什么是springmvc(介绍),java,spring,mvc,spring,mvc,java
Spring工作流程描述文章来源地址https://www.toymoban.com/news/detail-820321.html

    1. 用户向服务器发送请求,请求被Spring 前端控制Servelt DispatcherServlet捕获;
    1. DispatcherServlet对请求URL进行解析,得到请求资源标识符(URI)。然后根据该URI,调用HandlerMapping获得该Handler配置的所有相关的对象(包括Handler对象以及Handler对象对应的拦截器),最后以HandlerExecutionChain对象的形式返回;
    1. DispatcherServlet 根据获得的Handler,选择一个合适的HandlerAdapter。(附注:如果成功获得HandlerAdapter后,此时将开始执行拦截器的preHandler(…)方法)
    1. 提取Request中的模型数据,填充Handler入参,开始执行Handler(Controller)。 在填充Handler的入参过程中,根据你的配置,Spring将帮你做一些额外的工作:
      HttpMessageConveter: 将请求消息(如Json、xml等数据)转换成一个对象,将对象转换为指定的响应信息
      数据转换:对请求消息进行数据转换。如String转换成Integer、Double等
      数据根式化:对请求消息进行数据格式化。 如将字符串转换成格式化数字或格式化日期等
      数据验证: 验证数据的有效性(长度、格式等),验证结果存储到BindingResult或Error中
    1. Handler执行完成后,向DispatcherServlet 返回一个ModelAndView对象;
    1. 根据返回的ModelAndView,选择一个适合的ViewResolver(必须是已经注册到Spring容器中的ViewResolver)返回给DispatcherServlet ;
    1. ViewResolver 结合Model和View,来渲染视图
    1. 将渲染结果返回给客户端。

6. 常用注解

@Controller:用于标识处理器类
@RestController注解相当于@ResponseBody + @Controller合在一起的作用
@RequestMapping:请求到处理器功能方法的映射规则,可定义到类和方法,常用参数:value、method
@RequestParam:请求参数到处理器功能处理方法的方法参数上的绑定,常用参数:value、required、defaultValue, (required设置成false的参数类型必须是引用类型,因为基本数据类型是不能为null的)
@ModelAttribute:请求参数到命令对象的绑定。
可用@ModelAttribute标注方法参数,方法参数会被添加到Model对象中(作用:向视图层传数据)
可用@ModelAttribute标注一个非请求处理方法,此方法会在每次调用请求处理方法前被调用(作用:数据初始化)
可用@ModelAttribute标注方法,方法返回值会被添加到Model对象中(作用:向视图层传数据)
@RequestBody:用于目前比较流行的ajax开发的数据绑定(即提交数据的类型为json格式)

到了这里,关于什么是springmvc(介绍)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • SpringMVC-2-Spring MVC拦截器详解:从入门到精通

    能够编写拦截器并配置拦截器 1.1 拦截器概念和作用 拦截器(Interceptor)是一种动态拦截方法调用的机制,在SpringMVC中动态拦截控制器方法的执行 作用: 在指定的方法调用前后执行预先设定的代码 阻止原始方法的执行 总结:增强 核心原理:AOP思想 1.2 拦截器和过滤器的区别

    2024年02月12日
    浏览(50)
  • SpringMVC-1-解密Spring MVC:构建优雅、灵活的Web应用的秘诀

    能够编写SpringMVC入门案例 了解SpringMVC原理 思考:SpringMVC框架有什么优点? SpringMVC是一种基于Java实现MVC模型的轻量级Web框架 优点 使用简单,开发便捷(相比于Servlet) 天然的与Spring框架集成(如IOC容器、AOP等) 请求处理简化:支持用户请求数据自动映射封装 响应处理简化:

    2024年02月12日
    浏览(45)
  • Spring MVC学习随笔-Spring MVC介绍

    学习视频:孙哥说SpringMVC:结合Thymeleaf,重塑你的MVC世界!|前所未有的Web开发探索之旅 概念: SpringMVC是基于Spring Framework衍生而来的MVC框架,主要解决了原有MVC框架开发过程中,控制器(Controller)的问题 SpringMVC是一个MVC框架 MVC是一个架构思想,在JavaEE开发中多用于Web开发

    2024年02月05日
    浏览(47)
  • 【Spring MVC】Spring MVC的功能使用和相关注解介绍

    Spring MVC主要有三个功能: 连接 获取参数 输出数据 对于 Spring MVC 来说,掌握了以上 3 个功能就相当于掌握了Spring MVC。 连接的功能:将⽤户(浏览器)和 Java 程序连接起来,也就是访问⼀个地址能够调⽤到我们的Spring 程序。 先创建一个SpringMVC项目,过程和SpringBoot项目创建相

    2024年02月16日
    浏览(46)
  • 73.是否可以把我们所需的Bean都放入Spring­mvc子容器里面来管理(springmvc的spring-servlet.xml中配置全局扫描)?

    可以 , 因为父容器的体现无非是为了获取子容器不包含的bean, 如果全部包含在子容器完全用不到父容器了, 所以是可以全部放在springmvc子容器来管理的。 虽然可以这么做不过一般应该是不推荐这么去做的,一般人也不会这么干的。如果你的项目里有用到事物、或者aop记得也

    2024年02月21日
    浏览(47)
  • Spring MVC介绍

    MVC 模式,全称为 Model-View-Controller(模型-视图-控制器)模式,它是一种软件架构模式,其目标是将软件的用户界面(即前台页面)和业务逻辑分离,使代码具有更高的可扩展性、可复用性、可维护性以及灵活性。 通常情况下,一个完整的 Java Web 应用程序,其结构如下图Jav

    2024年02月10日
    浏览(35)
  • Spring mvc 组件介绍

    统一收口,接收请求,响应结果,相当于转发器,中央处理器。 有了 DispatcherServlet 减少了其它组件之间的耦合度。 根据请求的url查找Handler,既负责完成客户请求到 Controller 映射。 SpringMVC提供了不同的映射器实现不同的映射方式, 例如:配置文件方式、实现接口方式、注解

    2024年02月13日
    浏览(44)
  • Spring基础(Web-MVC)——在idea中新建springWeb项目 & 浏览器请求 和 服务器响应 & SpringMvc文件相关

    mvc是啥,springMvc是啥,如何搭建springWeb项目, 在springMvc下的request和response怎么发请求,怎么进行响应? springMvc处理文件相关:上传文件,uuid改名,静态资源映射,yaml配置路径,spring配置文件初步; 表现(视图)层:WEB层,用来和客户端进行数据交互的。 servlet-controller 业务层

    2024年02月03日
    浏览(48)
  • Spring MVC 是什么?

    2023年07月27日
    浏览(38)
  • JavaWeb框架:Spring MVC介绍

    MVC(Model View Controller,模型-视图-控制器) ,作为一种设计模式,用于应用程序的分层开发。 Spring MVC ,由 Spring 框架提供的基于 MVC 设计模式的一个轻量级 Web 开发框架。Spring MVC 提供了一个前端控制器 DispatcherServlet 来分派请求,然后通过配置处理程序映射、视图解析等,使

    2024年02月12日
    浏览(35)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包