做相关性分析的网站,php网站优化,凡科建设网站别人能进去么,中国菲律宾南海开战今天是刘小爱自学Java的第127天。感谢你的观看#xff0c;谢谢你。今天的知识点有点多#xff0c;有点记不过来了。学习内容安排如下#xff1a;使用注解优化昨天写的springMVC入门程序。映射路径各种风格的学习#xff0c;也就对应了注解RequestMapping中的参数。各种类型…今天是刘小爱自学Java的第127天。感谢你的观看谢谢你。今天的知识点有点多有点记不过来了。学习内容安排如下使用注解优化昨天写的springMVC入门程序。映射路径各种风格的学习也就对应了注解RequestMapping中的参数。各种类型的请求参数获取。整篇都是围绕着各种注解的使用做个整合以后那个忘了做个回顾。一、注解简化代码昨天写了一个springMVC入门程序将其运行流程梳理了一遍但是代码编写太麻烦了。1存在的问题①问题一映射器、适配器、处理器视图解析器一堆的信息需要配置。②问题二看到new关键字就可以使用spring优化具体在文章第三节中有详细说明。一个处理器类只能处理一个请求并且这个类还要在配置文件中配置。这个问题我们以前学servlet的时候就遇到过当时我们是创建一个BaseServlet再使用反射让其子类一个方法对应一个请求。这里的解决方式是使用注解。2注解的使用①配置注解开启注解扫描这个在学spring框架的时候就用过很多次了。mvc注解驱动这个就相当于自动配置映射器、适配器了。②处理器类Controller这个注解即相当于将这个处理器类存放到了spring容器中。RequestMapping(/show)在每个方法上使用这个注解就可以接受一个请求。方法名我们可以自定义有多个请求就可以创建多个对应的方法。我大胆地猜测一下该注解的底层实现也是使用的反射当然目前就不做深入研究了。其中/show就对应着访问路径当然在浏览器访问时要在路径后面加上.do。二、不同风格的映射路径一共有好几种依次说明。1Ant风格的映射Ant也就是蚂蚁的意思符号“*”不就像一只蚂蚁么大概这就是它名称的由来。①通配符代表可以使用任意一个字符。例子中路径配置的是“a?”那么ab、ac、a加任意一个字符都可以访问。②通配符*代表了0个或者多个字符。例子中路径配置的是“a*”那么abcdd、afa都可以访问甚至单独的一个a也可以。其中当*单独使用的时候只能配置一个或者多个的字符0个就不行了。③通配符**代表了0个或者多个路径。例子中路径配置的是“**”那么随便多个路径都可以没有路径也行。其中当**和其它字符一起使用时就不能多个路径了代表0或多个字符和*作用一样。2占位符的映射(restful风格)restful风格厉害的地方在于路径中输入的字符可以作为参数被取出来。使用注解PathVariable该注解可以获取路径中的字符作为参数不过值得注意的是PathVariable(“key”)中的key必须和对应占位符中的参数名保持一致。如果传递的参数类型和接受参数的形参类型不一致则会自动转换。比如上图年龄传了“18”字符串方法形参使用Integer来接受参数。3限定请求方法的映射这种方式就是可以限定方法的请求类型比如我们只接受GET请求RequestMapping(value””,method””)使用RequestMethod.GET设定请求方式为GET请求如果是POST请求就不行了。我们点击RequestMethod的源码可以发现其一共有8种请求类型都是以枚举的形式存在自己指定需要限制的请求方式即可。4限定请求参数的映射RequestMapping(value””,params””)和限定请求方法很像就是将method换成了params名称都是见名知义的。①params”id”请求参数中必须有id如果没有id会报错。与之相反的是如果params”!id”表示请求参数中不能包含id如果有id会报错。②params”id1”请求参数中id必须为1如果不为1会报错。与之相反的是如果params”id!1”表示请求参数中id必须不为1如果等于1会报错。③params{“name”, ”age”}请求参数中必须有nameage参数当然有多余的其它参数也行但这两个必须要有。5混合注解GetMapping限定请求方式必须要为GET请求才行就相当于RequestMapping用methodRequestMethod.GET。类似的注解还有PostMapping、PutMapping、DeleteMapping。值得注意的是上述例子中①和②分开使用都可以达到效果如果放在一起会报错。三、接收数据及数据绑定1接收servlet的内置对象常用的servlet对象一共有三个requestresponsesession。这些对象的接收非常简单只需要在方法形参中有该对象就能接收不需要任何配置。2springMVC的Model对象我们前面使用ModelAndView每次都要new对象既然学了spring肯定能优化。springMVC的Model对象就是用来代替ModelAndView的addAtrribute()就相当于addObject()返回字符串就相当于设定ViewName的值。注意①和②不能放在一起联合使用我这边只是做一个对比说明它们是一回事。3接收普通的请求参数也就是RequestParam这个注解的使用这个注解非常重要使用起来也方便。①requiredfalse有false自然是有true的。如果不写的话默认就是ture我这边为了说明写了false。true表示请求参数必须要有name如果没有就会报错。false表示请求参数可以没有name如果没有就显示null。②defaultValue看名称就很好理解这个是指定一个默认值如果不指定参数就用这个默认值。其中关于注解PathVariable和其很类似这个在rest风格映射路径中说明。如果请求路径中携带有参数可以使用注解PathVariable如果参数并不在请求路径中POST请求可以使用RequestParam。4获取cookieCookieValue这个注解的使用我们在使用浏览器的时候如果多次请求请求参数中会存在一个cookie。可以通过CookieValue获取cookie的值其中其key为一个固定值JSESSIONID。最后还有几种数据类型没时间学了比如实体类对象、集合这些。我擦咧一个知识点不能整合在一起有点难受看来时间管理不行啊得跟罗志祥学学了真不知道他是怎么安排过来的。谢谢你的观看。如果可以的话麻烦帮忙点个赞谢谢你。