• SpringMVC的请求


    客户端发的请求SpringMVC在接收时可以分为:

    获取基本类型参数

    Controller中的业务方法的参数名称要与实际参数的name一致,参数值回自动映射匹配

    直接在controller方法的参数位置声明想要的参数即可,参数名称和request传递来的参数名称必须相同(username和age要对应上)


    POJO(简单Java类)类型参数

    Controller中的业务方法的POJO参数的属性名和请求参数的name一致,参数值回自动映射匹配

    URL里的username,age与User类中的属性名username,age一致,没有就跳过。然后匹配上的属性会通过反射器调用getset方法

    SpringMVC会把url传来的参数值自动封装到user对应的属性中

    UserController类:

    Url:

    结果:

    数组类型参数

    Controller中的业务方法数组名称与请求参数的name一致,参数值会自动映射匹配

    UserController类:

    URL:

    结果:

    集合数据类型

    集合的POJO封装(几乎不用这种方式)

    获得集合参数时,要将几何参数包装到一个POJO中才可以,我们新建一个VO类

    UserController类:

    新建一个jsp,并通过post方式访问,并给userList集合里的第一个和第二个对象进行封装

    访问jsp

    返回集合:

    异步获得集合类型参数

    如果使用json格式提交数据(ajax请求),可以指定contentType为json形式,在controller的方法参数位置使用@RequestBody注解可以把接收到的json转换成对象。直接接收集合数据而无需使用POJO进行封装。

    导入js

    ajax.jsp

    UserController类:

    最后在spring-mvc.xml中添加一句话,因为默认js这种静态资源默认是不加载的。

    url:

    结果:

    关于静态资源的处理

    SpringMVC的前端控制器路径配置为 / 前端控制器会接收到静态资源的请求

    1.让SpringMVC处理静态资源,手动配置一个映射关系,让SpringMVC有映射访问静态资源的能力

    mapping:映射,指的是请求的url路径

    location:实际访问的资源的位置

    意思是url里写mapping后面跟着的位置时,会映射到location后面跟着的位置

    2.不让SpringMVC处理静态资源,让Web容器来处理(Tomcat)

    SpringMVC请求的乱码问题

    参数绑定注解requestParam

    Parameter

    标注在Controller中方法的参数上,用于指定请求参数和方法的参数名的映射关系

    UserController类:

    URL:

    结果是Van

    结果是Aniki

    Map

    标注的Controller方法的参数是一个map,它会把所有的请求参数都获取出来存入该map中,类似request.getParameterMap()

    UserController类:

    URL:

    结果:

    Restful风格:请求方式+url,目前主流都这样用

    可以在不同的请求方式和不同的url都会导致请求的资源不同,对缓存支持的好

    UserController类:

    localhost8080/getParameterByPathVariable/Van中的Van被占位符{name}接收,然后传递给@PathVariable(value = "name")中的name,然后赋值给username

    这样更改请求方式

  • 相关阅读:
    Android基础之使用Fragment控制切换多个页面
    如何进行fragment中的来回切换?
    【Android】保存Fragment切换状态
    ViewPager+Fragment的结合使用,实现QQ界面的理解
    android 写文件权限
    Android文件操作
    [转]Android读写文件
    【275】◀▶ Python 控制语句说明
    【274】Python 相关问题
    【273】利用ArcPy建立处理数据的脚本
  • 原文地址:https://www.cnblogs.com/maomaodesu/p/12288215.html
Copyright © 2020-2023  润新知