文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

老师问我 Spring MVC 的工作流程

2024-12-02 18:18

关注

GitHub:https://github.com/nateshao/ssm/tree/master/106-springmvc-hello

1. Spring MVC概述

什么是Spring MVC?

Spring MVC是Spring提供的一个实现了Web MVC设计模式的轻量级Web框架。它与Struts2框架一样,都属于MVC框架,但其使用和性能等方面比Struts2更加优异。

Spring MVC具有以下特点:

  1. 是Spring框架的一部分,可以方便的利用Spring所提供的其他功能。
  2. 灵活性强,易于与其他框架集成。
  3. 提供了一个前端控制器DispatcherServlet,使开发人员无需额外开发控制器对象。
  4. 可自动绑定用户输入,并能正确的转换数据类型。
  5. 内置了常见的校验器,可以校验用户输入。如果校验不能通过,那么就会重定向到输入表单。
  6. 支持国际化。可以根据用户区域显示多国语言。
  7. 支持多种视图技术。它支持JSP、Velocity和FreeMarker等视图技术。
  8. 使用基于XML的配置文件,在编辑后,不需要重新编译应用程序。

2. 第一个Spring MVC应用

在IDEA中,创建一个名称为106-springmvc-hello的Web项目,具体参考:https://github.com/nateshao/ssm/tree/master/106-springmvc-hello

在web.xml中,配置Spring MVC的前端控制器DispatcherServlet。

  1. "1.0" encoding="UTF-8"?> 
  2. "http://xmlns.jcp.org/xml/ns/javaee" 
  3.          xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
  4.          xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_4_0.xsd" 
  5.          version="4.0"
  6.      
  7.         name>contextConfigLocationname
  8.         /WEB-INF/applicationContext.xml 
  9.      
  10.      
  11.         org.springframework.web.context.ContextLoaderListener 
  12.      
  13.      
  14.         name>dispatchername
  15.         org.springframework.web.servlet.DispatcherServlet 
  16.         <load-on-startup>1load-on-startup> 
  17.      
  18.      
  19.         name>dispatchername
  20. --        *.form--> 
  21.         / 
  22.      
  23.  

 

 

dispatcher-servlet.xml

  1. "1.0" encoding="UTF-8"?> 
  2. "http://www.springframework.org/schema/beans" 
  3.        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
  4.        xmlns:context="http://www.springframework.org/schema/context" 
  5.        xmlns:mvc="http://www.springframework.org/schema/mvc" 
  6.        xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd http://www.springframework.org/schema/context https://www.springframework.org/schema/context/spring-context.xsd http://www.springframework.org/schema/mvc https://www.springframework.org/schema/mvc/spring-mvc.xsd"
  7.  
  8.     "com.nateshao"/> 
  9.     default-servlet-handler/> 
  10.      
  11.     "org.springframework.web.servlet.view.InternalResourceViewResolver" 
  12.           id="internalResourceViewResolver"
  13.         name="prefix" value="/WEB-INF/jsp/"/> 
  14.         name="suffix" value=".jsp"/> 
  15.      
  16.  

 

 

hello.jsp

  1. <%-- 
  2.   Created by IntelliJ IDEA. 
  3.   User: 邵桐杰 
  4.   Date: 2021/10/16 
  5.   Time: 16:13 
  6.   To change this template use File | Settings | File Templates. 
  7. --%> 
  8. <%@ page contentType="text/html;charset=UTF-8" language="java" %> 
  9.  
  10.  
  11.     Title 
  12.  
  13.  
  14.  

    hello springmvc

     
  15.  
  16.  
  1. <%-- 用EL表达式获取后台处理器封装的信息 --%> 
  2.   $END

控制台输出:

浏览器访问:http://localhost:8080/106_springmvc_hello_war_exploded/hello

3. Spring MVC的工作流程(重点!!!)

Spring MVC是如何工作的呢?(面试高频)

“通过入门案例的学习,相信读者对Spring MVC的使用已经有了一个初步的了解。在实际开发中,我们的实际工作主要集中在控制器和视图页面上,但Spring MVC内部完成了很多工作,这些程序在项目中具体是怎么执行的呢?接下来,将通过一张图来展示Spring MVC程序的执行情况。

总结

本章首先对Spring MVC框架进行了简单的介绍,

然后讲解了一个Spring MVC入门程序的编写,

最后通过入门案例对Spring MVC的工作流程进行了详细讲解。

 

通过本章的学习,我们能够了解什么是Spring MVC,以及Spring MVC的优点,掌握Spring MVC入门程序的编写,并能够熟悉Spring MVC框架的工作流程。

 

来源:程序员千羽内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-后端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯