Spring MVC概念+项目创建+@RequestMappring案例代码

Spring MVC概念+项目创建+@RequestMapping案例代码

Spring MVC是一个基于MVC架构的Web框架,它可以用于构建Web应用程序。Spring MVC框架提供了一组组件,包括控制器、视解析器、处理映射器、数据绑定、数据验证、异常处理等,可以帮助我们快速开发Web应用程序。

Spring MVC项目创建

我们可以使用Spring Boot来创建一个Spring MVC项目。Spring Boot是一个基于Spring框架的快速开发框架,它可以帮助我们快速创建Spring应用程序。

步骤1:创建Spring Boot项目

我们可以使用Spring Initializr来创建一个Spring Boot项目。Spring Initializr是一个Web应用程序,它可以帮助我们快速创建Spring Boot项目。

  1. 打开Spring Initializr网站:https://start.spring.io/
  2. 选择项目的基本信息,例如项目名称、项目类型、项目包名等。
  3. 选择项目的依赖项,例如Spring Web、Thymeleaf等。
  4. 点击“Generate”按钮,生成项目的基本结构。

步骤2:添加控制器

我们可以使用@Controller注解来标识一个类是控制器,使用@RequestMapping注解来定义请求的URI和HTTP方法。例如:

@Controller
@RequestMapping("/users")
public class UserController {

    @GetMapping("/{id}")
    public String getUser(@PathVariable("id") Long id, Model model) {
        // 根据id查询用户
        User user = userService.getUserById(id);
        model.addAttribute("user", user);
        return "user";
    }

    @PostMapping
    public String addUser(@ModelAttribute("user") User user) {
        // 添加用户
        userService.addUser(user);
        return "redirect:/users";
    }
}

在上面的代码中,我们使用@Controller注解来标识该类是一个控制器。我们使用@RequestMapping注解来定义请求的URI和HTTP方法。我们使用@PathVariable注解来接收URI中的参数。我们使用@ModelAttribute注解来接收请求体中的数据。我们使用Model对象来添加属性,这些属性可以在视图中使用。我们使用字符串来返回视图的名称。

步骤3:添加视图

我们可以使用Thymeleaf模板引擎来渲染视图。例如:

<!DOCTYPE html>
<html xmlns:th="http://www.thymeleaf.org">
<head>
    <meta charset="UTF-8">
    <title>User</title>
</head>
<body>
    <h1>User</h1>
    <p>ID: <span th:text="${user.id}"></span></p>
    <p>Name: <span th:text="${user.name}"></span></p>
    <p>Age: <span th:text="${user.age}"></span></p>
    <p>Gender: <span th:text="${user.gender}"></span></p>
</body>
</html>

在上面的代码中,我们使用Thymeleaf模板引擎来渲染视图。我们使用th:text属性来显示Model对象中的属性。

@RequestMapping案例代码

下面是一个使用@RequestMapping注解的案例代码:

@Controller
@RequestMapping("/hello")
public class HelloController {

    @RequestMapping(method = RequestMethod.GET)
    public String hello(Model model) {
        model.addAttribute("message", "Hello, World!");
        return "hello";
    }
}

在上面的代码中,我们使用@Controller注解来标识该类是一个控制器。我们使用@RequestMapping注解来定义请求的URI和HTTP方法。我们使用RequestMethod.GET来指定HTTP方法为GET。我们使用Model对象来添加属性,这些属性可以在视图中使用。我们使用字符串来返回视图的名称。

下面是一个使用@RequestMapping注解的XML配置方式的案例代码:

<bean id="helloController" class="com.example.controller.HelloController">
    <property name="message" value="Hello, World!"/>
</bean>

<bean id="viewResolver" class="org.springframework.web.servlet.view.InternalResourceViewResolver">
    <property name="prefix" value="/WEB-INF/views/"/>
    <property name="suffix" value=".jsp"/>
</bean>

在上面的代码中,我们使用元素来定义一个名为“helloController”的控制器,它的类是“com.example.controller.HelloController”。我们使用元素来设置控制器的属性它的名称是“message”,它的值是“Hello, World!”。

我们使用元素来定义一个名为“viewResolver”的视图解析器,它的类是“org.springframework.web.servlet.view.InternalResourceViewResolver”。我们使用元素来设置视图解析器的属性它的名称是“prefix”,它的值是“/WEB-INF/views/”。我们使用元素来设置视图解析器的属性它的名称是“suffix”,它的值是“.jsp”。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Spring MVC概念+项目创建+@RequestMappring案例代码 - Python技术站

(0)
上一篇 2023年5月18日
下一篇 2023年5月18日

相关文章

  • SpringBoot+SpringSecurity+jwt实现验证

    下面我会提供一个基于Spring Boot、Spring Security 和 JSON Web Token(JWT)的认证示例。 一、什么是JWT JSON Web Token(JWT)是一个开放标准(RFC 7519),它定义了一种简单的、自包含的方式,用于在通过网络进行传输的两个实体之间安全传递信息。它被称为自包含是因为JWT包含了所有身份验证(Aut…

    Java 2023年5月20日
    00
  • 一文带你了解如何正确使用Java中的字符串常量池

    一文带你了解如何正确使用Java中的字符串常量池 什么是字符串常量池 在Java中,字符串常量池是JVM运行时数据区域的一部分,用来存放一些字符串常量,以便进行重用。 怎么使用字符串常量池 使用字符串常量创建字符串对象 Java中的字符串有两种创建方法:使用字符串常量和使用new操作符创建字符串对象。其中,使用字符串常量创建的字符串会首先尝试从字符串常量池中…

    Java 2023年5月26日
    00
  • IDEA编译Spring源码教程

      大家在学习spring时源码总是绕不开的,今天我分享一下我的spring源码编译过程,详细讲解了常见问题的解决办法。   此过程中要用到的工具及版本:     1.JDK11     2.Spring-framework 5.3.27     3.Gradle7.5.1     4.IDEA 2021.3 文章目录:     1.下载spring源码  …

    Java 2023年4月22日
    00
  • JAVA8 lambda表达式权威教程

    JAVA8 lambda表达式权威教程攻略 什么是lambda表达式 Lambda表达式是一种在JDK8中引入的函数式编程语法,用于简化代码中的匿名内部类的使用。它可以在不需要实现某个接口的情况下,直接创建出一个函数式接口的实例。 Lambda表达式的基本语法 (parameter) -> expression (parameter) -> { …

    Java 2023年5月26日
    00
  • Java 数组获取最大和最小值的实例实现

    让我为您详细讲解如何实现Java数组获取最大和最小值。 1. 获取数组中的最大值 我们可以通过以下步骤获取Java数组中的最大值: 声明和初始化一个数组 使用for循环遍历数组,逐个比较数组元素大小,将最大值储存在一个变量中 输出最大值 以下是一个例子: //声明一个整型数组,包含10个元素 int[] array = {10, 8, 20, 5, 14, …

    Java 2023年5月26日
    00
  • Java深入讲解Object类常用方法的使用

    Java深入讲解Object类常用方法的使用攻略 介绍 在Java中,所有的类都默认继承自Object类,Object类是Java中非常重要的一个类。Object类中拥有很多方法,本攻略主要介绍Object类常用方法的使用。 常用方法列表 下面列举了Object类中的常用方法: equals(Object obj):判断对象是否相等。 toString():…

    Java 2023年5月26日
    00
  • java实现一个扫描包的工具类实例代码

    下面是“Java实现一个扫描包的工具类实例代码”的完整攻略: 前言 Java 提供了很多方便的方式来扫描类路径下的类,比如:Class.forName()、ClassLoader.getResources() 等等,然而如果需要扫描指定包路径下的所有类,这些方式就不太方便了,本文实现一个扫描包的工具类。 思路 扫描包的思路总结为以下三个步骤: 定位指定包路径…

    Java 2023年5月19日
    00
  • 多种方法实现当jsp页面完全加载完成后执行一个js函数

    实现当JSP页面完全加载完成后执行一个JS函数,可以通过以下两种方法实现: 方法一:window.onload 在window对象上添加onload事件处理程序,当JSP页面全部加载完成后就会执行该处理程序。在该处理程序中可以调用JS函数。 <script> window.onload = function() { myFunction(); }…

    Java 2023年6月15日
    00
合作推广
合作推广
分享本页
返回顶部