SpringMVC(二)——请求

本文详细介绍了SpringMVC中的@RequestMapping注解,包括其在类和方法上的使用、注解属性、请求参数绑定机制和常见数据类型。还讨论了RequestParam和RequestBody注解,以及RestFul风格在SpringMVC中的应用,强调了通过不同HTTP方法实现资源操作的优雅方式。
摘要由CSDN通过智能技术生成

springMVC请求

一、RequestMapping注解

RequestMapping介绍

RequestMapping注解的作用是建立请求URL和处理方法之间的对应关系

RequestMapping注解可以作用在方法

    1. 作用在类上:第一级的访问目录
    1. 作用在方法上:第二级的访问目录
    1. 细节:路径可以不编写 / ,表示应用的根目录开始

只要路径不重复,一级二级目录就可以按需添加

package com.qcby.controller;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
@Controller
@RequestMapping("/user")//一级目录
public class UserController {
   
    @RequestMapping("/study")//二级目录
    public String study(){
   
        System.out.println("study");
        //返回suc.html的界面
        return "suc";
    }
}
RequestMapping的属性
  • path 指定请求路径的url
  • value value属性和path属性是一样的
  • mthod 指定该方法的请求方式
@Controller
@RequestMapping(path = "/role") // 一级请求路径
public class RoleController {
   
    /**
     * /role/save
     * method="当前方法允许请求方式能访问"
     * params="请求路径上传参数"
     * @return
     */
   @RequestMapping(path = "/save",method = {
   RequestMethod.GET})
    public String save(){
   
        System.out.println("保存角色...");
        //返回suc.html的界面
        return "suc";
    }

    @RequestMapping(value = "/delete")
    public String delete(){
   
        System.out.println("删除角色...");
        //返回suc.html的界面
        return "suc";
    }
}

RequestMapping的请求参数绑定

(1). 绑定机制

  1. 表单提交的数据都是k=v格式的 username=haha&password=123
  2. SpringMVC的参数绑定过程是把表单提交的请求参数,作为控制器中方法的参数进行绑定的

方法一:通过方法形参来直接绑定前端传入的参数

  • 把前端表单提交的请求参数,直接和控制器中方法的形参进行绑定
  • 要求:提交表单的name和函数的参数的名称是相同的

方法二:通过实体类属性封装前端传入的数据

  • 把前端表单提交的请求参数,和实体类的属性进行绑定
  • 控制器的方法的参数是实体类
  • 实体类的属性要和表单的name一致

方法三:在控制器内写servlet来操作前端的参数

(2). 支持的数据类型

    1. 基本数据类型和字符串类型
    1. 实体类型(JavaBean)
    1. 集合数据类型(List、map集合等)

基本数据类型和字符串类型

  1. 提交表单的name和参数的名称是相同的

  2. 区分大小写

实体类型(JavaBean)

  1. 提交表单的name和JavaBean中的属性名称需要一致

  2. 如果一个JavaBean类中包含其他的引用类型,那么表单的name属性需要编写成:对象.属性 例如:address.name

给集合属性数据封装

  1. JSP页面编写方式:list[0].属性

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-eA1yT7vy-1654949086953)(https://nyw-1300782054.cos.ap-nanjing.myqcloud.com/img/image-20220607154927164.png)]

举例:

前端界面

<html>
<head>
    <meta charset="utf-8">
    <title>入门程序</title>
</head>
<body>
<h3>入门</h3><a href="/SpringMVCDemo/hello.do">入门程序</a>
<h3>通过提交形参绑定前端参数</h3>
<form action="/SpringMVCDemo/user/bindPara">
    <input type="text" name<
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值