SpringMVC详解(二)

提示:这本文入门使用



前言


提示:以下是本篇文章正文内容,下面案例可供参考

SpringMVC

@PathVariable

@PathVariable可以获取诘求路径中的值在路径中要使用(变量名称}做标识
在方法参数中可以添加@PathVariable做识别,如果路径中的名称跟参数的名称不一致的时候,可以添加路径中的变量,一般推荐添加

7、REST风格

REST即表述性状态传递(英文:Representational State Transfer,简称REST)是Roy Fielding博士在2000年他的博士论文中提出来的一种软件架构风格。它是一种针对网络应用的设计和开发方式,可以降低开发的复杂性,提高系统的可伸缩性。
在三种主流的Web服务实现方案中,因为REST模式的Web服务与复杂的SOAP和XML-RPC对比来讲明显的更加简洁,越来越多的web服务开始采用REST风格设计和实现。例如,Amazon.com提供接近REST风格的Web服务进行图书查找;雅虎提供的Web服务也是REST风格的。
REST,翻译过来叫做表现层状态转化,是目前最流行的一个互联网软件架构,它架构清晰,符合标准,易于理解,扩展方便。
表现层(Representation):把资源具体呈现出来的形式,因此叫做表现层。
资源(Resource):网络上的一个具体信息,文本,图片,音频,视频都可以称之为资源,如果想要访问到互联网上的某一个资源,那么就必须要使用一个URL来唯一性的获取改资源,也可以这么说,URL是每一个资源的唯一标识符。
状态转化(State Transfer):当客户端发出一个请求的时候,就代表客户端跟服务端的一次交互过程,HTTP是一种无状态协议,即所有的状态都保存在服务器端,因此,客户端如果想要操作服务器,必须通过某些手段,让服务器的状态发生转化,而这种转化是建立在表现层的,这就是名字的由来(非人话)
人话:我们在获取资源的时候就是进行增删改查的操作,如果是原来的架构风格,需要发送四个请求,分别是:
查询: localhost:8080/query?id=1
增加: localhost:8080/insert
删除:localhost:8080/delete?id=1
resources包下的pringmvc.xml
在这里插入图片描述
按照此方式发送请求的时候比较麻烦,需要定义多种请求,而在HTTP协议中,有不同的发送请求的万式,分别是GET、POST、PUT、DELETE等,我们如果能让不同的请求方式表示不同的请求类型就可以简化我们的查询
GET:获取资源
/book/1
POST:新建资源
/book
PUT:更新资源
/book/1
DELETE:删除资源
/book/1
在这里插入图片描述
需要导入tomcat的依赖servlet和jsp才能运行。
在这里插入图片描述

02SpringMVC的使用

(1) SpringMVC的请求处理SpringMVC对请求参数的处理
在之前的servlet中我们可以通过request.getParameter()来获取请求中的参数,但是在我们编写的
SpringMVC的应用程序中,在具体请求的方法中并不包含request参数,那么我们应该如何获取请求中的参数呢?
需要使用以下几个注解:
@RequestParam:获取请求的参数
@RequestHeader:获取请求头信息
@Cookievalue:获取cookie中的值
@RequestParam的基本使用
request.getParameter ("name)
当发送请求的时候,找到对应的处理方法之后,会根据参数的名称从request中获取对应的参数值,并封装到方法中
此时要求,方法的名字和url中参数的名字必须一致,如果不一致,设置不成功
如果设置的值不同,同时又想让参数获取到对应的属性值,可以通过@RequestParam来使用
经常跟@PathVariable混淆,主要注意,两个注解有不同的用处次注解的参数;
value:获取的参数值
required:表示当前属性值是否是必须存在的,默认值是true,表示请求中必须要包含此参数,如果没有,400,bad request
defaultValue:如果传递参数了,那么使用传递进来的参数,如果没有使用默认值
在这里插入图片描述

request. getHeader( User-Agent)
同时也包含了几个参数
value:
required:
defaultValue:
同@RequestParam

获取cookie中的值,使用@CookieValue注解
Cookie[] cookies = request.getCookies() :同时也包含了几个参数
value:
required:
defaultValue:
同@RequestParam

乱码问题解决;
我们需要设置request和response的编码方式,可以自己手动编写过滤器,也可以由现成的框架来实现
post:必须要分别设置request和response的编码格式
get:在tomcat的server. xml文件中,添加URIEncoding=utf-8
——————————————————————————————————
在一个应用程序中可能会包含N多个过滤器,这N多个过滤器一般是没有顺序的要求的,但是如果你设置了编码过滤器,那么要求必须要将编码过滤器设置到最上面,保证编码过滤器优先执行

spring自带过滤器

在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值