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注解或其变体修饰处理方法即可。例如如下代码片段:

目录
相关文章
|
21天前
|
人工智能 前端开发 Java
Spring AI Alibaba + 通义千问,开发AI应用如此简单!!!
本文介绍了如何使用Spring AI Alibaba开发一个简单的AI对话应用。通过引入`spring-ai-alibaba-starter`依赖和配置API密钥,结合Spring Boot项目,只需几行代码即可实现与AI模型的交互。具体步骤包括创建Spring Boot项目、编写Controller处理对话请求以及前端页面展示对话内容。此外,文章还介绍了如何通过添加对话记忆功能,使AI能够理解上下文并进行连贯对话。最后,总结了Spring AI为Java开发者带来的便利,简化了AI应用的开发流程。
274 0
|
7天前
|
监控 JavaScript 数据可视化
建筑施工一体化信息管理平台源码,支持微服务架构,采用Java、Spring Cloud、Vue等技术开发。
智慧工地云平台是专为建筑施工领域打造的一体化信息管理平台,利用大数据、云计算、物联网等技术,实现施工区域各系统数据汇总与可视化管理。平台涵盖人员、设备、物料、环境等关键因素的实时监控与数据分析,提供远程指挥、决策支持等功能,提升工作效率,促进产业信息化发展。系统由PC端、APP移动端及项目、监管、数据屏三大平台组成,支持微服务架构,采用Java、Spring Cloud、Vue等技术开发。
|
16天前
|
监控 前端开发 API
一款基于 .NET MVC 框架开发、功能全面的MES系统
一款基于 .NET MVC 框架开发、功能全面的MES系统
|
28天前
|
XML JSON Java
Spring Boot 开发中常见的错误
本文总结了 Java 开发中常见的几个问题及其改进方法,包括:1. 过度使用 `@Component` 注解;2. `@ResponseBody` 注解的错误用法;3. `@Autowired` 的不当使用;4. `application.properties` 管理不善;5. 异常处理不当。每部分详细解释了错误情况和建议的改进方案,并提供了相应的代码示例。
53 11
|
28天前
|
IDE Java 测试技术
互联网应用主流框架整合之Spring Boot开发
通过本文的介绍,我们详细探讨了Spring Boot开发的核心概念和实践方法,包括项目结构、数据访问层、服务层、控制层、配置管理、单元测试以及部署与运行。Spring Boot通过简化配置和强大的生态系统,使得互联网应用的开发更加高效和可靠。希望本文能够帮助开发者快速掌握Spring Boot,并在实际项目中灵活应用。
49 5
|
28天前
|
设计模式 前端开发 Java
步步深入SpringMvc DispatcherServlet源码掌握springmvc全流程原理
通过对 `DispatcherServlet`源码的深入剖析,我们了解了SpringMVC请求处理的全流程。`DispatcherServlet`作为前端控制器,负责请求的接收和分发,处理器映射和适配负责将请求分派到具体的处理器方法,视图解析器负责生成和渲染视图。理解这些核心组件及其交互原理,有助于开发者更好地使用和扩展SpringMVC框架。
41 4
|
26天前
|
前端开发 Java 开发者
这款免费 IDEA 插件让你开发 Spring 程序更简单
Feign-Helper 是一款支持 Spring 框架的 IDEA 免费插件,提供 URL 快速搜索、Spring Web Controller 路径一键复制及 Feign 与 Controller 接口互相导航等功能,极大提升了开发效率。
|
1月前
|
XML Java 数据格式
Spring Core核心类库的功能与应用实践分析
【12月更文挑战第1天】大家好,今天我们来聊聊Spring Core这个强大的核心类库。Spring Core作为Spring框架的基础,提供了控制反转(IOC)和依赖注入(DI)等核心功能,以及企业级功能,如JNDI和定时任务等。通过本文,我们将从概述、功能点、背景、业务点、底层原理等多个方面深入剖析Spring Core,并通过多个Java示例展示其应用实践,同时指出对应实践的优缺点。
60 14
|
2月前
|
人工智能 前端开发 Java
基于开源框架Spring AI Alibaba快速构建Java应用
本文旨在帮助开发者快速掌握并应用 Spring AI Alibaba,提升基于 Java 的大模型应用开发效率和安全性。
263 12
基于开源框架Spring AI Alibaba快速构建Java应用
|
1月前
|
XML 前端开发 安全
Spring MVC:深入理解与应用实践
Spring MVC是Spring框架提供的一个用于构建Web应用程序的Model-View-Controller(MVC)实现。它通过分离业务逻辑、数据、显示来组织代码,使得Web应用程序的开发变得更加简洁和高效。本文将从概述、功能点、背景、业务点、底层原理等多个方面深入剖析Spring MVC,并通过多个Java示例展示其应用实践,同时指出对应实践的优缺点。
85 2