常用框架SpringMVC

  1. SpringMVC的流程

    (1)用户发送请求至前端控制器 DispatcherServlet;
    (2)DispatcherServlet 收到请求后,调用 HandlerMapping 处理器映射器,请求获取Handle;
    (3)处理器映射器根据请求 url 找到具体的处理器,生成处理器对象及处理器拦截器(如果有则生成)一并返回给 DispatcherServlet;
    (4)DispatcherServlet 调用 HandlerAdapter 处理器适配器;
    (5)HandlerAdapter 经过适配调用 具体处理器(Handler,也叫后端控制器);
    (6)Handler 执行完成返回 ModelAndView;
    (7)HandlerAdapter 将 Handler 执行结果 ModelAndView 返回给 DispatcherServlet;
    (8)DispatcherServlet 将 ModelAndView 传给 ViewResolver 视图解析器进行解析;
    (9)ViewResolver 解析后返回具体 View;
    (10)DispatcherServlet 对 View 进行渲染视图(即将模型数据填充至视图中)
    (11)DispatcherServlet 响应用户。
    

在这里插入图片描述

  1. SpringMVC和 struts2 的区别有哪些?

    (1)SpringMVC的入口是一个 servlet 即前端控制器(DispatchServlet)而 struts2 入口是一个 filter 过虑器(StrutsPrepareAndExecuteFilter)。
    (2)SpringMVC是基于方法开发(一个 url 对应一个方法),请求参数传递到方法的形参,可以设计为单例或多例(建议单例),struts2 是基于类开发,传递参数是通过类的属性,只能设计为多例。
    (3)Struts 采用值栈存储请求和响应的数据,通过 OGNL 存取数据,SpringMVC通过参数解析器是将 request 请求内容解析,并给方法形参赋值,将数据和视图封装成 ModelAndView对象,最后又将 ModelAndView 中的模型数据通过 reques 域传输到页面。Jsp 视图解析器默认使用 jstl。
    
  2. SpringMVC怎么和 Ajax 相互调用的?

    通过 Jackson 框架就可以把 Java 里面的对象直接转化成 Js 可以识别的 Json 对象。具体步骤如下 :
    (1)加入 Jackson.jar
    (2)在配置文件中配置 json 的映射
    (3)在接怎么样把 ModelMap 里面的数据放入 Session 里面?
    答:可以在类上面加上@SessionAttributes 注解,里面包含的字符串就是要放入 session 里面的 key。
    受 Ajax 方法里面可以直接返回 Object,List 等,但方法前面要加上@ResponseBody 注解。
    如何启用注解?
    <context:annotation-config/>
    如何使用 : 
    <context:component-scan base-package="com.tgb.web.controller.annotation"> </context:component-scan> 则上面内容可以省略。
    
  3. SpringMVC前端控制器是什么?处理器映射器是什么?

    DispatcherServlet:前端控制器。用户请求到达前端控制器,它就相当于 mvc 模式中的 c,DispatcherServlet 是整个流程控制的中心,由它调用其它组件处理用户的请求,DispatcherServlet 的存在降低了组件之间的耦合性。
    HandlerMapping:处理器映射器。HandlerMapping 负责根据用户请求找到 Handler 即处理器,springmvc 提供了不同的映射器实现不同的映射方式,例如:配置文件方式,实现接口方式,注解方式等。
    
  4. SpringMVC获取表单数据的几种方式

    Controller 的方法,添加 HttpServletRequst 类型入参,通过HttpServletRequst.getParameter()获取请求数据。
    Controller 的方法,添加对应表单字段 name 的参数,有几个表单字段就添加多少个对应的入参。
    Controller 的方法,添加自定义 Java 类型的入参,并添加@ModelAttribute 注解,由这个入参对象接收表单提交的数据。
    当表单字段名与 Controller 的方法的形参对象名不一致时,可以在参数类型前添加@requestParam(“表单字段名”)注解来获取表单参数。
    
  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值