Spring MVC应用的开发步骤

简介: Spring MVC应用的开发步骤

Spring MVC应用的开发步骤

下面简单介绍Spring MVC应用的开发步骤。

① 在web.xml文件中配置核心控制器DispatcherServlet处理所有的HTTP请求。

由于Web应用是基于请求/响应架构的,所以不管使用哪种MVC Web框架,都需要在web.xml文件中配置该框架的核心Servlet或Filter,这样才可以让该框架介入Web应用中。

例如,开发Spring MVC应用的第1步就是在web.xml文件中增加如下配置片段:

② 如果需要以POST方式提交请求,则定义包含表单数据的视图页面,将该表单的action属性指定为请求提交的地址。

如果只是以GET方式发送请求,则无须经过这一步,只需定义一个超链接,将该链接的href属性指定为请求提交的地址即可。

如果以异步方式提交请求

(比如jQuery、Angular、Vue等),则需要使用JS(或TS)编写提交请求的脚本。

③ 定义处理请求的控制器类,该类通常需要使用@Controller注解修饰。


在Spring 2.5之前,Spring MVC要求Controller组件必须实现Controller接口,并实现该接口中的handleRequest(HttpServletRequest,HttpServletResponse)方法来处理请求,那时候的Spring MVC框架大致相当于Struts 1的层次,其设计糟糕到不忍卒视,因此本书不打算介绍那种方式。

这一步也是所有MVC框架中必不可少的,因为这个控制器类就是MVC中的C,它负责调用后端Service组件的方法来处理HTTP请求


Controller并不能直接接收HTTP请求啊,它怎么能够处理该请求呢?MVC框架的底层机制是,当核心控制器(DispatcherServlet)接收到HTTP请求后,通常会对该请求进行简单的预处理,例如解析、封装参数等,然后通过反射来创建Controller实例,并调用Controller的指定方法(由@RequestMapping注解或其变体修饰的方法)来处理请求。

这里又产生了一个问题:当DispatcherServlet拦截HTTP请求后,它如何知道创建哪个控制器的实例呢?有两种解决方法。

利用XML配置文件

。比如Struts 2或Spring 2.5之前的Spring MVC框架,都要求在XML文件中配置/abc请求对应于调用哪个类的哪个方法,这样就可以让MVC框架知道要创建哪个控制器的实例了。

➢ 利用注解。现在的Spring MVC只要使用@Controller修饰控制器类,并使用@ReRequestMapping或其变体修饰处理方法,即可让MVC框架知道创建哪个控制器的实例,并调用哪个方法来处理用户请求。

根据上面的介绍不难发现,在Spring MVC框架中,控制器实际上由两个部分组成,即:拦截所有HTTP请求和处理请求的通用代码都由核心控制器DispatcherServlet完成,而实际的业务控制(诸如调用Service组件的方法、返回处理结果等)则由自定义的Controller处理——因此,Controller也被称为业务控制器


配置控制器类

,也就是配置某个请求由哪个类的哪个方法负责处理。

现在的Spring MVC只要使用@Controller修饰控制器类,并使用@RequestMapping注解或其变体修饰处理方法即可。例如如下代码片段:

目录
相关文章
|
3天前
|
IDE Java 开发工具
Spring Boot DevTools:加速开发的热部署工具
【4月更文挑战第28天】在Spring Boot的开发过程中,快速反馈和效率至关重要。Spring Boot DevTools是一个为开发者设计的模块,支持热部署(hot swapping),能够实现应用的快速重启和自动重载,极大地提高了开发效率。本篇博客将介绍Spring Boot DevTools的核心概念,并通过具体的实战示例展示如何在开发过程中利用这一工具。
12 0
|
3天前
|
监控 Java Sentinel
Spring Cloud Sentinel:概念与实战应用
【4月更文挑战第28天】在分布式微服务架构中,确保系统的稳定性和可靠性至关重要。Spring Cloud Sentinel 为微服务提供流量控制、熔断降级和系统负载保护,有效预防服务雪崩。本篇博客深入探讨 Spring Cloud Sentinel 的核心概念,并通过实际案例展示其在项目中的应用。
12 0
|
5天前
|
XML Java 数据格式
手写spring第六章-实现应用上下文,完成bean的扩展机制
手写spring第六章-实现应用上下文,完成bean的扩展机制
11 0
|
5天前
|
前端开发 Java 应用服务中间件
Spring MVC常见面试题
Spring MVC常见面试题
6 0
|
7天前
|
消息中间件 Java 中间件
第十六章 Spring cloud stream应用
第十六章 Spring cloud stream应用
13 0
|
7天前
|
开发框架 前端开发 安全
Java从入门到精通:2.2.2学习使用Spring框架进行Web应用开发
Java从入门到精通:2.2.2学习使用Spring框架进行Web应用开发
|
7天前
|
设计模式 存储 前端开发
Java从入门到精通:2.2.1学习Java Web开发,了解Servlet和JSP技术,掌握MVC设计模式
Java从入门到精通:2.2.1学习Java Web开发,了解Servlet和JSP技术,掌握MVC设计模式
|
13天前
|
JSON Java fastjson
Spring Boot 底层级探索系列 04 - Web 开发(2)
Spring Boot 底层级探索系列 04 - Web 开发(2)
21 0
|
13天前
|
Java 关系型数据库 MySQL
一套java+ spring boot与vue+ mysql技术开发的UWB高精度工厂人员定位全套系统源码有应用案例
UWB (ULTRA WIDE BAND, UWB) 技术是一种无线载波通讯技术,它不采用正弦载波,而是利用纳秒级的非正弦波窄脉冲传输数据,因此其所占的频谱范围很宽。一套UWB精确定位系统,最高定位精度可达10cm,具有高精度,高动态,高容量,低功耗的应用。
一套java+ spring boot与vue+ mysql技术开发的UWB高精度工厂人员定位全套系统源码有应用案例
|
19天前
|
数据采集 前端开发 Java
数据塑造:Spring MVC中@ModelAttribute的高级数据预处理技巧
数据塑造:Spring MVC中@ModelAttribute的高级数据预处理技巧
23 3