Spring MVC教程

Spring MVC教程

Spring MVC表单Spring SPEL表达式

Spring MVC教程

Spring MVC是一个Java框架,用于构建Web应用程序。它遵循Model-View-Controller设计模式。它实现了核心Spring框架的所有基本功能,例如控制反转,依赖注入。

Spring MVC通过 DispatcherServlet 提供了一种优雅的解决方案,可以在Spring框架中使用MVC。 >。在这里, DispatcherServlet 是一个类,用于接收传入的请求并将其映射到正确的资源,例如控制器,模型和视图。

Spring Web Model-View-Controller Model-模型包含应用程序的数据。数据可以是单个对象或对象的集合。 Controller-控制器包含应用程序的业务逻辑。在这里,@ Controller批注用于将类标记为控制器。 View-视图以特定格式表示所提供的信息。通常,JSP + JSTL用于创建视图页面。尽管spring还支持其他视图技术,例如Apache Velocity,Thymeleaf和FreeMarker。 Front Controller-在Spring Web MVC中,DispatcherServlet类用作前端控制器。它负责管理Spring MVC应用程序的流程。

了解Spring Web MVC的流程 如图所示,所有传入的请求都被充当前端控制器的DispatcherServlet拦截。 DispatcherServlet从XML文件获取处理程序映射的条目,并将请求转发给控制器。 控制器返回ModelAndView对象。 DispatcherServlet检查XML文件中的视图解析器条目,并调用指定的视图组件。

Spring MVC Framework的优点让我们看看Spring MVC Framework的一些优点: -

分离角色-Spring MVC分离每个角色,其中可以由专门的对象来实现模型对象,控制器,命令对象,视图解析器,DispatcherServlet,验证器等。 轻量-它使用轻巧的servlet容器来开发和部署您的应用程序。 强大的配置-它为框架和应用程序类提供了可靠的配置,其中包括跨上下文的轻松引用,例如从Web控制器到业务对象和验证器。 快速开发-Spring MVC促进了快速并行的开发。 可重复使用的业务代码-无需创建新对象,它使我们可以使用现有业务对象。 易于测试-在Spring中,通常我们创建JavaBeans类,使您可以使用setter方法注入测试数据。 灵活的映射-它提供了可轻松重定向页面的特定注释。

Spring Web MVC框架示例让我们看一下Spring Web MVC框架的简单示例。步骤如下:

在Maven中加载spring jar文件或添加依赖项 创建控制器类 在web.xml文件中提供控制器的条目 在单独的XML文件中定义bean 在JSP页面中显示消息 启动服务器并部署项目

Spring MVC的目录结构

使用Maven的Spring MVC的目录结构

必需的Jar文件或Maven依赖项要运行此示例,您需要加载:

Spring Core jar文件 Spring Web jar文件 JSP + JSTL jar文件(如果使用其他视图技术,则加载相应的jar文件)。

下载spring的所有jar文件,包括JSP和JSTL 。

如果您使用的是Maven,则无需添加jar文件。现在,您需要将maven依赖项添加到pom.xml文件。

1、在pom.xml文件中提供项目信息和配置。 pom.xml

示例

xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">

4.0.0

com.nhooo

SpringMVC

war

0.0.1-SNAPSHOT

SpringMVC Maven Webapp

http://maven.apache.org

junit

junit

3.8.1

test

org.springframework

spring-webmvc

5.1.1.RELEASE

javax.servlet

servlet-api

3.0-alpha-1

SpringMVC

2、创建控制器类要创建控制器类,我们使用两个注释@Controller和@RequestMapping。

@Controller注释将该类标记为Controller。

@Requestmapping批注用于映射具有指定URL名称的类。

HelloController.java

示例package com.nhooo;

import org.springframework.stereotype.Controller;

import org.springframework.web.bind.annotation.RequestMapping;

@Controller

public class HelloController {

@RequestMapping("/")

public String display()

{

return "index";

}

}

3、在web.xml文件中提供控制器的条目在此xml文件中,我们指定Servlet类DispatcherServlet充当Spring Web MVC中的前端控制器。 html文件的所有传入请求都将转发到DispatcherServlet。

web.xml

示例

SpringMVC

spring

org.springframework.web.servlet.DispatcherServlet

1

spring

/

4、在xml文件中定义bean。这是重要的配置文件,需要在其中指定View组件。

context: component-scan元素定义了DispatcherServlet的基本包。将搜索控制器类。

此xml文件应位于WEB-INF目录内。

spring-servlet.xml

示例

xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

xmlns:context="http://www.springframework.org/schema/context"

xmlns:mvc="http://www.springframework.org/schema/mvc"

xsi:schemaLocation="

http://www.springframework.org/schema/beans

http://www.springframework.org/schema/beans/spring-beans.xsd

http://www.springframework.org/schema/context

http://www.springframework.org/schema/context/spring-context.xsd

http://www.springframework.org/schema/mvc

http://www.springframework.org/schema/mvc/spring-mvc.xsd">

5、在JSP页面中显示消息这是简单的JSP页面,显示Controller返回的消息。

index.jsp

示例

Welcome to Spring MVC Tutorial

输出:

Spring MVC索引 Spring MVC

MVC简介

多视图页面

多个控制器

模型接口

RequestParam 注解

Spring MVC表单

表单标签库

表单文本字段

单选按钮

表单复选框

表单下拉列表

Spring MVC应用程序

MVC CRUD示例

MVC分页示例

文件上传示例

Spring MVC验证

Spring MVC验证

正则表达式验证

数字验证

自定义验证

Spring MVC Tiles

Spring MVC Tiles

Spring MVC表单Spring SPEL表达式

相关推荐

《啪啪三国》新资料片国战新玩法详解
最佳娱乐365bet娱乐场下载

《啪啪三国》新资料片国战新玩法详解

🗓️ 07-13 👁️ 6867
哪个品牌洗车机口碑好?7款热销精品,用过都说赞
365bet真人体育

哪个品牌洗车机口碑好?7款热销精品,用过都说赞

🗓️ 10-13 👁️ 3927
换锁芯多少钱?看完你会明白该怎么选!
365根据什么来封号

换锁芯多少钱?看完你会明白该怎么选!

🗓️ 11-28 👁️ 7542
为什么水的波纹是圆的
365根据什么来封号

为什么水的波纹是圆的

🗓️ 08-31 👁️ 9121
仿真计算是什么?为什么要进行仿真计算?
最佳娱乐365bet娱乐场下载

仿真计算是什么?为什么要进行仿真计算?

🗓️ 09-06 👁️ 1470
揭秘巴西足球传奇:负角度射门如何创造神奇瞬间
365bet真人体育

揭秘巴西足球传奇:负角度射门如何创造神奇瞬间

🗓️ 02-02 👁️ 2823
荒野行动伏地魔怎么发现 怎么识别
365bet真人体育

荒野行动伏地魔怎么发现 怎么识别

🗓️ 08-06 👁️ 2146
真·宅男神器?小宅Z4 VR眼镜评测
最佳娱乐365bet娱乐场下载

真·宅男神器?小宅Z4 VR眼镜评测

🗓️ 10-20 👁️ 789
世界杯2026抽签全解析:48强落位,终极席位争夺战一触即发!
最佳娱乐365bet娱乐场下载

世界杯2026抽签全解析:48强落位,终极席位争夺战一触即发!

🗓️ 01-18 👁️ 2397
兔子的鼻子是什么颜色
365根据什么来封号

兔子的鼻子是什么颜色

🗓️ 10-10 👁️ 6726
焦虑的马斯克:解读特斯拉涨价背后的三重困境
365bet真人体育

焦虑的马斯克:解读特斯拉涨价背后的三重困境

🗓️ 01-19 👁️ 9552
步骤2 - 调试应用程序
365bet真人体育

步骤2 - 调试应用程序

🗓️ 09-01 👁️ 4998