ssm框架之springMVC

网页左边,向下滑有目录索引,可以根据标题跳转到你想看的内容
springMVC就是spring框架的一个子模块,是spring基于MVC设计模式提供的web展示层框架,通常单独拿出来作为一个框架说明,但它只是spring的一个子模块。
3.0后全面超越Struts2,成为最优秀MVC框架,通过一套MVC注解,只需配置一个前端控制器就可以实现以前必须实现大量接口才能得到的功能
全面支持REST的URL风格,而且此框架有非常不错的扩展性和灵活性

一、环境搭建

建立工程,引入jar包

在这里插入图片描述在这里插入图片描述在这里插入图片描述

配置前端控制器
  • 配置web.xml在这里插入图片描述在这里插入图片描述
  • 配置前端控制器在这里插入图片描述
  • 测试在这里插入图片描述在这里插入图片描述在这里插入图片描述

二、@RequestMapping注解

作用:告诉SpringMvc被标注的方法是用来处理哪个请求的,URL中的/代表从当前项目开始
如果此注解标注了一个类,就相当于使这个类成了一个文件夹,那么这个类的路径就是类中所有拦截方法的父路径,而不是web目录了。所以若类标注了注解@RequestMapping(/class),某个方法标注了@RequestMapping(/method)那么访问时就要写"class/method"才行,因为相当于多了一层路径

  • url通配符
    • ?:代表任意一个字符
    • *:代表任意多个字符或一层路径
    • **:代替多层路径
  • RequestMapping注解中的属性
    • method: 设置处理请求类型:method=RequestMethod.GET
      使用RequestMethod类中参数表示请求方式,默认是全部请求
    • params: 规定请求参数
      • params={“user”}:表示如果请求参数不带user就报错
      • params={"!user"}:表示请求参数不允许带user参数,否则就报错
      • params={“user=‘航宇零’”}:请求参数必须带user参数且值必须为航宇零
      • params={“user”,"!password",…}:表示请求参数必须满足这些规则
    • headers: 规定请求头
    • consumes: 设置请求内容类型
      规定接受的内容请求类型,规定请求的Context-Type
    • produces: 设置响应内容类型
      规定响应的内容请求类型,给请求头上加Context-Type

三、获取客户端请求信息

代码截图在下面,请根据截图看这些注解怎么用

SpringMvc提供了自动封装,如果客户端传来的参数是一个javaBean(比如from表单传来的用户名,密码等)可以创建一个对象,方法传递对象时只需要test(Book book)参数就会根据类进行自动封装,属性名要相同支持级联封装,value="对象名.属性名"即可
  • @RequestParam:获取请求参数
    • 方法一:String username直接在方法中写参数,参数名字要和客户端传来的一致,客户端传来的值存在变量中,没值就是null
    • 方法二:@RequestParam(value=“user”,required=false,defaultValue=“defaultUser”)String username;
      • value:指定要获取参数id,获取后存在username变量中
      • required:指定不带此参数是否报错,如果为true,没带就报错
      • defaultValue:指定如果没带,就给默认值
      • 获取客户端user的值存在变量username中,若值不存在,不要报错,赋默认值defaultUser
  • @PathVariable(“user”)与@RequestParam(“user”)的区别
    • @PathVariable指定动态路径,之后可以使用{user}形式引用路径
    • @RequestParam指定参数,保存参数后存储到后面跟着的方法参数变量中
    • {user}动态路径: /{user}/path?username
    • 两个注解在url中具体位置:/@pathVariable?@RequestParam
  • @RequestHeader:获取请求头中某个key的值
    • @RequestHeader(value=“User-Agent”,required=false,defaultValue=“defaultUser-Agent”)String userAgent
    • 上面代码的意思是:获取请求头User-Agent参数的值,存储到变量userAgent中,若参数没带值,不要报错并赋默认值defaultUser-Agent
  • @CookieValue:获取某个Cookie的值

在这里插入图片描述

四、REST请求风格

如果给每一个请求单独定义一个名字,就会显得整个网站太过繁杂,
所以出现了REST的一种请求风格,把同一类请求都设置成相同名字,然后根据请求方式不同,来处理不同请求
例如
setuser/1:get请求,表示查看id为1的setuser
setuser/1:delete请求,表示参数id为1的setuser
setuser  :put请求,表示更新setuser
setuser  :post,表示添加setuser
  • get:获取资源
  • post:添加资源
  • put:修改资源
  • delete:删除资源
实现步骤
  • 配置web.xml文件,因为是过滤器,所以拦截所有请求也没事,就配置的了/*在这里插入图片描述
  • 页面中编写form表单在这里插入图片描述
  • 编写处理方法在这里插入图片描述

五、解决中文乱码

在这里插入图片描述

六、返回数据给客户端

在这里插入图片描述在这里插入图片描述在这里插入图片描述

七、请求转发与重定向

在这里插入图片描述

八、文件下载

在这里插入图片描述

九、文件上传

在这里插入图片描述在这里插入图片描述

十、拦截器

在这里插入图片描述
在这里插入图片描述在这里插入图片描述

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

殷丿grd_志鹏

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值