• springmvc复习(第一天)(黑马版)


    上午

    springmvc的底层也是servlet

    在后台能接请求的   只能servlet和过滤器

    一.快速入门

    第一步:

    导入依赖 day34_demo1_helloworld

    第二步:做成web项目

    第三步:在webapp里面写二个页面

    第四步:写后台

    第五步:写.xml文件

    springmvc里面内置了一个servlet,所以我们只要登记servlet,让他接收/*的请求,目的就是我们从浏览器发任何请求来,都是发给springmvc里面内置的servlet,由servlet内部进行判定,把请求转移到请求路径上

    第三步:登记

    第四步:运行 访问index.jsp首页 看它会不会发请求给sayHi

    发完后会不会跳转到success.jsp

     

    二 .原理

    解释:

    当我们的浏览器(客户端)发出请求时,不是到达Controller

    而是先达到DispatcherServlet中央处理器,前端控制器/核心处理器),DispatcherServlet负责接收请求,响应请求,DispatcherServlet收到请求之后,要调用Controlle,但是不知道要调用哪个Controller能够处理发过来的请求,这时就先让HandlerMapping(处理器映射器)去找Controller,看哪个Controller可以处理发过来的请求,等找到之后 在安排HandlerAdapter(处理器适配器)去调用Controller,HandlerAdapter就可以去调用Controller方法,调用Controller方法之后会返回一个视图名称,然后视图解析器在去咨询找页面,在经过渲染页面,在返回给我们的客户端

    解释:

    ViewResolver视图解析器

    调用之后,得到视图,在根据ViewResolver视图解析器

    寻找页面

    三.配置解释

    错误分析

    .xsd没有引进来

    如果没有引进来选把这行删除



    四.演示视图解析器 

    五.静态资源处理

    六. web.xml里面的配置解释

     

    七  @Controller和@RequestMapping

    八 .请求参数绑定

    第一步:导入依赖

    第二步:变成web项目

    第三步:写二个页面 index.jsp  success.jsp  先用get请求

    第四步:写后台Controller01

    第一种:简单参数

    第五步:springmvc.xml配置  以下四个是固定 可以导个模板

    第六步.web.xml  固定写法  可以导个模板

    第七步 访问

    访问首页

    访问成功页面

    用到的是get请求

    后台接收到的一个数据

     第二种  对象类型

     第一步:写首页

    第二步:javabeen

    第三步:后台

    第四步:运行

    第三种:数组类型

    第一步:写首页(前端)

    第二步:写后台

    第三步 运行

    二种传值写法

    用list集合接收

    第一步:写后台

    第二步:

    总结:

    九 .中文乱码

     第一步:写首页 post请求

    第二步:web.xml里面写配置

    第三步:运行

    十 .类型转换器

    我们从页面上传过来的是字符串,但是springmvc内部已经默认写好了类型转换器,比如说string转换int类型,不过日期格式做得并不好,springmvc只认2022/2-1,所以我们得自己写一个类型转换器

    第一步:写首页

    第二步:后台

    第三步:运行

    如果日期输入的是2020-10-10

    那么就会报错,如图所示(400-客户端  500-服务端)

     

    解决办法

     

    第一步:

    第二步:注册类型转换器

    第三步:把类型转换器放在注解驱动上

    第四步:运行

     下午

    注解

    一.@RequestParam

    第一步:导入依赖

    第二步:写后台

    第三步:运行

    这时会发现客户端并没有带参数过来

    所以要用到@RequestParam

    作用:要求客户端一定要携带指定名字的参数过来

    大部分这样写

    以下比较少写

    理解 :

    二.@RequestBody

    作用:

    1. 用于获取请求体内容。直接使用得到是 key=value&key=value...结构的字符串。【不常用】

    第一步:写后台

    第二步:写首页

     

    把首页中表单的数据提交给Controll里面的requestBody01上

    第三步:运行

     

    F12   返回

    重新提交

    用这个Mozilla Firefox抓包

    2.把获得json类型的数据转成JavaBean对象(后面再讲)【推荐】

     超链接触发普通的json数据javascript:sendJSON()

    第一步:写首页

    第二步:写javabeen

    第三步:写后台

    第四步 导入jackson-databind 的依赖

    解决运行时如下错误

    解决办法 复制选中

    Ctrl+R

    先把程序停止

    同理  把另外二个删除

    第五步:发请求

    总结:

    三 .@PathVariable

    作用:

      用于截取请求地址(url)里面的某些部分的数据。这个需要配合RestFul风格来说明

      localhost:81/delete?id=3    ==========>     localhost:81/delete/3

    属性:

      value: 用于指定 url 中占位符名称。

      required:是否必须提供占位符。

    第一步:写首页

    第二步:写后台

    第三步:运行

    四 .@RequestHeader

    作用:

      获取指定名字的请求头数据,赋值给方法参数

    属性:

      value:提供消息头名称

      required:是否必须有此消息头 , 默认值是true

    第一步:写首页

    第二步:写后台

    第三步:运行

    六 .@CookieValue

    作用:

      用于把指定 cookie 名称的值传入控制器方法参数。

    属性:

      value:指定 cookie 的名称。

      required:是否必须有此 cookie, 默认值是:true

    第一步:写首页

    第二步:写后台

    第三步.运行

    以上的笔记是自己在看视频时所做  如要源码或是视频可以评论区扣1 

  • 相关阅读:
    C语言例:表达式(a=2,3),a+1的值
    迭代器模式:顺序访问集合对象元素的桥梁
    YGG 和 BlockchainSpace 举办全国最大的 Web3 活动:Philippine Web3 Festival
    能链科技携手中智关爱通共建基于区块链的新人力服务网络
    计算机网络的物理层 基本概念
    安装gpu版本的paddle
    素数算法(Prime Num Algorithm)
    vue使用keep-alive后组件生命周期的变化
    深度学习面试题目01
    J1_搭建Web环境,初识JSP
  • 原文地址:https://blog.csdn.net/m0_59281987/article/details/127571548