SpringMVC

@Component是通用标注

@Controller标注Web控制器

@Service标注Service层的服务

@Respository标注DAO层的数据访问

这些注解都是类级别的,可以不带任何参数,也可以带一个参数,代表bean的名字,在进行注入的时候就可以通过名字进行注入了。

 在不清楚使用哪个注解的时候,可以统统使用Component

###############################################################################

@RequestMapping

  value代表具体的请求路径,如果不带其他属性value可以省略

  method指定请求的method类型,GET\POST\PUT\DELETE,可以省略则代表任意请求类型

  consumes指定请求的内容类型(Content-Type),application/json,text/html,它的值既可以是字符串也可以是数组

  Produces指定请求中必须包含的某些参数值,才会处理这个处理方法,参数可以是字符串或数组        

  params指定请求中必须包含某些参数的值,才会触发这个处理方法,参数中可以使用=或者!=,也可以不指定具体的值,直接使用“paramName”的格式,代表请求中必须包含参数名为paramName的参与,或”!paramName”。

  headers指定头Header中必须包含某些指定的参数值,才能让该方法处理请求

@PathVariable在@RequestMapping注解中使用占位符的情况下,在处理方法中指定占位符参数,PathVariable的值需要与请求Url大括号中的一样,后面定义的变量名可以随意写,如果变量名与Url大括号中的一样,那么PathVariable中的值可以省略,也可以在Url中使用正则表达式。

例子:

@RequestParam,在SpringMVC的Controller中获取参数主要有两种方式,一种是request.getParameter(“name”),另一种是用注解@RequestParam直接获取。

getParameter从Url中获取参数,index.jsp?page=1

@RequestParam取页面对应元素的值,有三个属性value(参数名)、required(是否必须有这个参数)、defaultValue(参数的默认值),如果不带任何属性则表示需要的参数名于标注的变量名相同。

@CookieValue,读取Cookies中的值,并赋值给变量,有value(cookie的名字)、required(是否必须有这个Cookie值)、defaultValue(默认值)三个属性,不带任何属性则表示需要的cookie名和标注的变量名相同。

@SessionAttributes,如果希望在多个请求之间公用某个模型属性数据,则可以在控制类中标注一个@SessionAttributes,SpringMVC会将模型中对应的属性暂存到HttpSerssion中。除了SessionAttributes外,还可以直接用原生态的request.getSession()来处理session数据。

@ResponseBody用于将Controller的方法返回的对方,通过适当的HttpMessageConverter转换为指定的格式后,写入到Response对象的body数据区。一般在返回的不是html页面而是其它的数据格式(json、xml)时使用。

  在Controller类中的使用,1使用@ResponseBady注解,2直接返回我们需要的对方

@RequestHeader,可以把Request请求header部分的值绑定到方法的参数上,与@RequesrParam注解使用方法一致

 #########################################################################################

SpringMVC的拦截器 ,需要实现HandlerInterceptor接口,或者继承实现了HandlerInterceptor接口的类,主要有3个方法:

preHandle请求处理之前执行
postHandle请求处理之后执行
afterCompletion整个请求结束之后,也就是在DispatcherServlet 渲染了对应的视图之后执行。
需要在MVC的配置文件中配置
<mvc:interceptors>
<mvc:interceptor>
两个节点

 ########################################################################

SpringMVC的异常处理,3种方式

   1.使用SimpleMappingExceptionResolver

   2.自定义异常处理器,实现HandlerExceptionResolver接口

   3.使用@ExceptionHandler注解,推荐使用这种方案

 

 

posted on   水一  阅读(285)  评论(0编辑  收藏  举报

编辑推荐:
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
阅读排行:
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· .NET周刊【3月第1期 2025-03-02】
· 分享 3 个 .NET 开源的文件压缩处理库,助力快速实现文件压缩解压功能!
· [AI/GPT/综述] AI Agent的设计模式综述

导航

< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5
点击右上角即可分享
微信分享提示