29-SpringMVC-1

声明:

看到一半以后来写的,先说明一下,关于前后端的技术分则问题,现在绝大部分都是前后端分离,所有jsp技术,关于springMVC基于jsp页面上的一些技术,统统不再使用,而这个视频里面讲到了太多的jsp技术,所以,跳过所有的jsp技术

1.配置

所有的jar包都是配置在web.xml的lib文件夹里面的

然后在web.xml里面配置springMVC的核心,DispatcherServlet

在这里按#用之前的springIDE插件,可以直接弹出来一个dispatcherservlet的declaration

<servlet-name>

<servlet-class>都出来了不用管

这里有一个<inti-param>

配置初始化参数-->配置SpringMVC配置文件的位置和名称

<load-on-startup>1</load-on-startup>第一次加载的时候被创建,而不是第一次请求的时候被创建,中间的这个数字,值越小,优先级越高,就越先被加载,值相同的时候,容器就会自己来选择顺序来加载

<url-pattern>/<url-pattern>表示可以应答所有请求

2.REST风格

我个人觉得这种风格可读性不高,不建议使用,所谓REST风格就是,把实际要传入的参数,写在了url的路径符号/后面

3.vc

这里的controller是写在类上面的,

还有一个注解@RequestMapping("/请求"),这里有一个url,href的url要等于被注解为@RequestMapping的方法名,必须要一直才能成功映射,也就是说,在java代码里面写的这个代码就叫做方法代码,直接与h5的超链接点击事件相对应

这里响应映射功能的控制器方法,有返回值的,这个返回值是肯定要返回到浏览器上的,

springMVC配置文件springmvc.xml文件里面还要配置叫做"视图解析器"来把返回值,返回到物理视图

这里的视图解析器,叫做InternalResourceViewResolver,其实后续讲到还有很多视图解析器.

prefix + 返回值value + suffix(后缀)这里等于是做一个转发操作,从一个页面跳转到另一个页面

比如我返回一个值,在这个值的前面记上一个路径,在后面加上".jsp"那么就是另一个page

关于web.xml的url映射的小知识:

< url-pattern>/</url-pattern>  会匹配到/login这样的路径型url,不会匹配到模式为*.jsp这样的后缀型url

< url-pattern>/*</url-pattern> 会匹配有url:路所径型的和后缀型的url(包括/login,*.jsp,*.js和*.html等)

这里在web.xml里面,其实也可以不使用contextConfigLocation来配置springMVC的配置文件,有一个默认的,就是

<servlet-name> +  -servlet.xml

4.RequestMapping注解

为控制器指定可以处理哪些URL请求

此注解不仅仅可以修饰方法,还可以修饰类

这里之前好像看到过,一个url层级,在类的前面加上@RequestMapping,那么这个类下面的很多方法,就是在其层级下面,相当于第一层级和第二层级

请求方式:

标准的http请求,有:

    请求方法 + 请求url + http协议以及其版本

    请求头

    请求参数

我们在使用RequestMapping的时候,除了用url进行映射,还可以用请求方法,请求参数以及请求头进行映射

除了url这里用method请求方式,就是写了一个value="",这里写了一个路径,method=这里可以指定POST或者GET等

.RequestMapping的请求参数,和请求头     

这里的设置还是在@RequestMapping里面,后面有一个params={        }

这里的参数,就是自己调接口的时候穿的,可以设置哪些参数一定要传对,哪些参数不能传,哪些参数可以传可以不传

等于说,@RequestMapping这个注解,就是专门来设置,浏览器或者别人掉接口,需不需要符合哪些规范,等

5.@RequestMapping的_ant

这是一种称之为"风格"

?一个字符

*任意个字符

**多层路径

这里的话...了解即可,说明requesMapping可以支持ant风格的url.......了解即可

6.@requestMapping的一个_@PathVariable 

可以映射,url里面绑定的占位符,比如说{$id},就可以从别人的REST风格的请求拿来我想要的值

就是可以映射url中的占位符到目标方法的参数中,其实就是,你接口调的参数值,我这边可以直接拿到

7.REST

(资源)表现层状态转化

-资源(Resources):文本,图片或者其他的,反正是一个资源,这个时候,可以用一个URI(统一资源定位符)指向它,每种资源对应一个特定的URI,要获取这个资源,访问它的URI就行,URI就是每一种资源的唯一标识符

-表现层:http协议里面,四个表示操作方式的动作:GET.POST,PUT,DELETE,分别表示4种操作:

GET用来获取资源

POST用来新建资源

PUT用来更新资源

DELETE用来删除资源

浏览器的表单,只支持post和get,但是可以spring新增了一个过滤器filter,可以将这些请求转化为标准的 http方法,是的支持PUT和DELET

8.HiddenHttpMethodFilter

这里这个类,可以把http来的get或者post请求,改成put和delete

这里在web.xml里面配置了<filter>节点

然后这个节点是配置所属filter是哪个类,是springframework.web的filter

下面又搞了一个<filter-mapping>搞了一个filter映射,然后下面有一个url-pattern,表明所有的访问都要被过滤

在这里是需要看源码的,也就是说这里浏览器,写的post,然后表单里面写了一个hidden的调教参数,后面写了一个 name,这里的name值,是按照filter源码上面要求的写的_method,表示是隐藏域提交表单

在这里,HiddenHttpMethodFilter就把浏览器的post,转变成了delete和put请求

9.标准的请求,不使用REST风格

@RequestParam

之前用的@PathVariable是拿REST风格的参数,通过占位符的方式

这里直接用@RequestParam,拿真正的请求参数

然后这里下面还可以设置2个属性:

    required="false",传不传都行

    default="没有传的时候,.默认值多少"

绝大部分情况下,还是使用标准的带参数的来搞http请求

在这次学习的过程中,其实已经知道了如何去返回客户端发来的请求,只不过这个请求是跳转另一个page,后续肯定会有像之前项目一样,返回一个json

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值