00:00
好,那我们刚才呢,咱们已经配置了咱们的SPAVC的配置文件,那我们在这里面呢,咱们主要是配置了扫描控制层组件,还有呢,就是配置了SIM life的视图解析器,好,然后下面呢,那我们来看一下咱们的笔记啊,咱们笔记里面呢,大家注意,然后我在这呢,还给大家设置了两个标签,一个标签呢是来处理我们的静态资源的,还有一个呢,是开启MVC注解驱动,那因为我们在这个地方呢,咱们也不需要用到这两个标签,那我们就等到咱们用到的时候再配置啊,就比如说我们在后边咱们的restful案例的时候,对吧?然后我们需要用到view.gs那我们就需要通过这两个标签来处理我们的静态资源,OK啊好,然后下面呢,那我们就来这个做一个简单的练习啊。首先呢,大家看这是我的index.html。好,然后这里面这个东西大家可能没有学习过similar Le的同学可能是。没有见过的,对吧?这个是咱们similar leaf的一个什么呢?Similar leaf的一个命名空间,我们现在这个页面中,你要想使用similar leaf的语法,那这个东西肯定是少不了的,那大家该如何去写呢?你要么呢就把它给记住,然后呢,要么大家就可以把这个东西复制一下,直接把它给加到我们当前HTML的模板中,就比如说点开我们当前的设置来,大家看在这呢啊,就这个扳手,或者说呢,大家点file里面有一个叫做settings,都是一样的啊,咱们找到editor编辑器,然后里面有一个叫做file and code ten plates,然后呢,选中它之后,咱们的第一个就是HTL的模板,大家只需要把这一句话,然后给添加到我们的HTML的这个标签里面就可以啊好,OK,那我们配置完之后啊,咱们在这给它改一下叫做首页,然后咱们在这呢,来写一个H1标签,然后也是首页OK啊,那我们如果。
02:00
能够正常跳转到这个页面,那我们是不是就能够看到相对应的效果了,对吧?好,OK,那我们现在要来实现什么功能呢?咱们看笔记啊,首先咱们先来测试一个对首页的访问,那什么是首页呀?咱们在web阶段的时候,我们访问上下文路径是不是可以自动访问到咱们的index.html,或者说是index.gsp而我们当前咱们的index.html是不是放在这个位置的,所以说咱们是不是访问不到啊?那所以我们就来写一个我们的请求,写一个我们当前通过spring VC来处理的请求,当我们来访问的是咱们的上下文路径的时候,然后咱们来访问咱们的index的HTML,来实现一个这样的效果啊,也就是这样的,大家来看啊,首先呢,那我们当前咱们的请求路径是不是应该是一个斜线对吧?然后我们要访问的页面呢,是不是应该是斜线web,然后in for下面的time,然后下面的index.ht秒OK啊行,那所以呢,下面大家来看那控制器,控制器里面的方法是不是才是真正处理请求的方法,所以说咱们在这直接来创建一个方法返回值,要是死追好,然后方法名大家随便写,为啥呢?因为大家注意我们当前请求,然后匹配到这个方法的时候,跟方法名是没有关系的,好,那我们返回的这个值。
03:30
而是什么呢?大家注意好,然后返回视图名称,什么叫做视图名称,视图名称就决定了我们最终要跳转到的页面,因为我们当前的H7L是没有办法直接访问的,所以说呢,我们最终跳转到哪个页面由谁决定呢?视图名称决定好,然后当我们返回一个视图名称,就会被我们刚才所配置的视图解析器来进行解析好,然后怎么来进行解析呢?其实咱们刚才已经说过了,对吧?然后来加上咱们当前的前缀,加上后缀就是我们最终要访问的页面,那所以说我们当前如果要跳转到这个页面的话,大家想我们这个页面的路径是不是应该是web INF inform下面的templ下面的index的HTML,所以说视图名称应该是什么?
04:20
你把前缀去掉,把后缀去掉,这不就是视图名称吗?所以说这个方法咱们只需要让它来衬一个什么index就OK了,啊好,OK,那设置完之后,我们当前的这个方法就是处理请求的方法吗?不是,那一个控制器中,一个类中是不是可以有很多方法,那这个方法就是来处理我们的这个请求的方法吗?那我们怎么做呢?大家注意,我们在这还需要再来使用一个注解,叫做request mapping注解,叫做请求映射的注解。那这个注解的作用就是将我们当前的请求和控制其方法来创建映射关系。也就是说,如果我们当前在这设置了一个value流属性,而这个value流属性等于斜线,那也就是说,当我们浏览器发送的请求是斜线的时候,也就是咱们的上下文路径的时候,它就会来执行我们当前注解所标识的方法,而这个方法返回的是视图名称,视图名称叫index,被咱们的视图解析器解析,加上前缀,加上后缀,就可以跳转到我们最终的页面。
05:30
OK啊,这个大家注意,所以说这个注解是非常重要的。我们现在要想让我们的请求,然后匹配到我们的请求映射,那我们就必须要在我们的控制器方法上来加上我们的request mapping主解,非常重要。好,大家看,我们在这来设置的是value属性,当然呢,它不只有value这一个属性,咱们除了可以通过请求地址来匹配请求控制器方法之外,我们还可以通过请求方式呀,请求参数呀,请求报文等一些信息来进行匹配,那这个东西咱们到后边再说啊,咱们呢先来测试一下我们当前的这个功能,首先大家来看,那如果我们当前咱们要这个使用注解的时候,只为value属性赋值,那我们的value是不是就可以省略不写对不对?哎,这个大家应该都知道啊,那下面呢,咱们就测试一下呗,首先咱们先来配一个Tom cat,然后通过tomcat来访问我们当前的工程,来大家看,点击这个地方,也就是a DD configuration来,点击加号来。
06:35
创建一个Tom k的实例Tom cat server,点击local本地,咱们给它起个名字吧,就叫做spring mvc,好,然后咱们来把当前的工程部署一下,大家注意点artifact,如果你当前呢,你没有artifact这个选项,那大家就一定要回去看看你的POM,点叉L,看看里面是不是没有配打包方式为瓦,大家注意,如果你没配的话,这个地方它就不会有rifac,这个大家注意啊,好,点击之后来咱们选择上面这个也行,选择下面这个也行,那咱们ideal中咱们用的最多的方式是不是就是哇,Ex loaded ex exped对吧?选这个就可以啊好,下面这个就是它的上下文路径啊,那咱们给它改的简单一些,就叫做spring mvc OK啊,然后再来设置我们当前的一个re re。
07:28
Readyploy是重新部署的意思,然后这个地方来更新咱们的内核资源,这个是当我们来点击启动按钮启动tomcat之后,然后当你再次来点击的时候,它默认的一个选项,好,然后这个代表的是当我们的idea失去焦点之候,它做的一个事情。好,那我们配置完之后open play OK,然后用哪个方式启动呢?建议大家用dbug,因为我们以后是不是要在debug中是不是实现断点调试,所以说我们尽量来使用debug模式启动啊。
08:02
啊。那下面咱们就等着tomcat启动就可以啊来。好,这个就是我们刚才咱们这个来写这个案例的过程,大家一定要注意,因为我们以后咱们的配置文件中就是这样配置的,那我们要来处理一个请求的话,其实来写的就是我们当前咱们的控制器中的内容,好那我们的页面呢,也已经打开了,然后大家也能够看到我们当前通过上下文路径是不是就已经访问到了我们当前的index.html,因为咱们在这就这一个页面嘛,对吧?好,这个大家一定要看好啊,行,同时呢,那我们的控制,我们的这个控制台里面呢,然后也为我们输出了一些信息,就比如说大家来看,因为我们在导入依赖的时候啊,我们在这里面导入了一个叫做log back的依赖,这个呢就是我们的日志框架的依赖,好,然后它就可以将我们当前一个请求的信息啊给我们输出来,就比如说大家来看templated,然后200就是我们当前的请求处理成功,然后下面呢,Get,然后是get请求我们的请求。
09:09
路径是spring m VC,然后有没有请求参数呢?没有,好然后这个时候它通过我们的request mapping handler mapping这个东西大家注意,是我们SPAVC中的一个组件,咱们等到把所有的功能讲完之后,咱们会讲这个组件啊好叫做请求映射处理器映射器,它它的作用主要就是帮助我们来匹配咱们的控制器方法的,好大家看通过它之后,我们是不是就映射到了我们的哪个方法呢?叫做com,点艾特硅谷点mvc control,点哈,Hello controller,井号index,这不就是咱们的控制器吗?那井号后边不就是咱们的控制器方法吗?所以说大家看跟方法名有关系吗?没有关系,它只跟我们当前的请求路径和咱们的request mapping有关系,这个大家注意啊,好,OK,那这个就是我们的控制台中给我们所输出来的日志信息,大家也可以从这个地方来查看。
10:09
我们当前请求处理的一个情况这样的啊,好OK,那我们现在咱们这个功能呢,咱们就实现了,大家一定要注意啊,然后这些都是我们所设置的配置信息,那所以说我们现在要来处理一个请求的话,我们是需要来找到我们的控制器,然后通过请求映射,然后来匹配到我们当前的请求,那这个注解所标识的方法就是处理请求的方法,而这个方法的返回值返回的是视图名称,也就是说我们当前咱们的这个就是我们就关系到了我们最终要跳转到的页面,那跳转到哪呢?被咱们spring VC。里面所配置的什么视图解析器解析,加上前缀来加上后缀,就是我们最终要跳转到的页面,OK啊。
我来说两句