springMVC的核心组件和其相关注解的相关小题及解析

如下API中哪个是不是SpringMVC中的核心组件(C)

A、DispatcherServlet

B、HandlerMapping

C、Filter

D、Controller

Controller是Spring MVC中的核心组件之一,Controller负责处理客户端发送的请求,并根据请求的参数、路径等信息来决定如何进行处理和响应。

在Spring MVC中的核心组件及其作用:

  1. DispatcherServlet:DispatcherServlet是整个Spring MVC框架的核心,负责接收客户端请求并将其分发到相应的处理程序(Controller)进行处理。它充当了前端控制器的角色,并协调其他组件的工作。

  2. HandlerMapping:HandlerMapping负责将接收到的请求映射到相应的处理程序(Controller),确定哪个请求应该由哪个Controller来处理。Spring MVC提供了多个HandlerMapping实现类,例如注解驱动的RequestMappingHandlerMapping和基于XML配置的BeanNameUrlHandlerMapping。

  3. HandlerAdapter:HandlerAdapter负责将请求发送给对应的处理程序(Controller)进行处理,并处理方法参数的解析、调用和结果处理。它使得Spring MVC可以支持不同类型的处理程序(Controller)以及灵活的方法参数解析。

  4. ViewResolver:ViewResolver负责将处理程序(Controller)返回的逻辑视图名解析为具体的视图对象(View),并将其返回给DispatcherServlet。视图对象负责呈现最终的页面内容给客户端。Spring MVC提供了多个ViewResolver实现类,例如InternalResourceViewResolver用于解析JSP视图、JsonViewResolver用于解析JSON视图等。

  5. ModelAndView:ModelAndView是一个持有模型数据和视图信息的对象。处理程序(Controller)可以通过ModelAndView将处理结果数据传递给视图进行呈现。

  6. HandlerInterceptor:HandlerInterceptor是一个拦截器接口,允许在请求处理过程中进行预处理和后处理操作。它可以用于实现日志记录、权限验证、请求参数修改等功能。

Spring MVC的处理流程?

1、客户端发送请求至前端控制器DispatcherServlet

2、DispatcherServlet收到请求后,调用处理器映射器HandlerMapping

3、HandlerMapping根据请求URL找到具体的Controller。

4、由具体的处理器适配器(HandlerAdapter)对Handler进行具体的调用。

5、Controller处理请求,并返回ModelAndView,其中的View只是视图名,并不指向具体的视图组件

6、DispatcherServlet通过ViewReslover(视图解析器)确定负责显示数据的具体View

7、DispatcherServlet对View进行渲染视图(即将Model填充至视图组件中),并将完整的视图响应到客户端

如下哪个注解与Spring MVC无关?(D)

A@RequestMapping

B@RestController

C@RequestBody

D.@Param

@Param 注解通常用于 MyBatis 框架中,用于指定方法参数在 SQL 语句中的名称。

SpringMVC的所有常用注解:

  1. @Controller:标记一个类作为 Spring MVC 的控制器。

  2. @RequestMapping:将请求 URL 映射到一个处理方法或控制器类中。

  3. @GetMapping:将 HTTP GET 请求映射到处理方法或控制器类中,并限定请求 URL。

  4. @PostMapping:将 HTTP POST 请求映射到处理方法或控制器类中,并限定请求 URL。

  5. @PutMapping:将 HTTP PUT 请求映射到处理方法或控制器类中,并限定请求 URL。

  6. @DeleteMapping:将 HTTP DELETE 请求映射到处理方法或控制器类中,并限定请求 URL。

  7. @PathVariable:从 URL 中提取变量值作为方法参数。

  8. @RequestParam:从请求参数中提取值作为方法参数。

  9. @RequestBody:将请求体中的数据绑定到一个对象上。

  10. @ResponseBody:将返回值序列化成 JSON 或 XML 格式并写回响应体中。

  11. @ModelAttribute:将请求参数绑定到模型对象上。

  12. @Validated:执行 Bean Validation(JSR-303)校验。

  13. @ExceptionHandler:捕获处理方法中抛出的指定类型的异常,并进行特定的处理。

  14. @ResponseStatus:设置响应状态码和原因短语。

  15. @SessionAttributes:将模型属性存储到 session 中,以便多个请求之间共享数据。

  16. @InitBinder:用于注册自定义的属性编辑器、表单atters 等。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值