springmvc

作者: 北京黄小胖 | 来源:发表于2020-03-26 14:42 被阅读0次
  1. SpringMvc的优点
  • 清晰的角色划分:控制器(controller)、验证器(validator)、命令对象(command obect)、

表单对象(form object)、模型对象(model object)、Servlet分发器(DispatcherServlet)、

处理器映射(handler mapping)、试图解析器(view resoler)等等。

每一个角色都可以由一个专门的对象来实现

  1. SpringMvc的控制器是不是单例模式

是,存在线程安全,

  • 不存在可变的成员变量,即状态不可变,是安全的
  • 通过ThreadLocal来存储状态可变的变量
  1. SpringMvc和struts2区别
  • sp入口是一个servlet,st是一个filter
  • sp针对方法开发,可单例、多例,st针对类作为action开发,只能多例,所以sp性能高于st
  1. SpringMVC怎么样设定重定向和转发的
  • 转发在返回前加forward:,如:forward:user.do?name=method4
  1. Springnmvc能返回的数据类型
  • String、Object,通过@ResponseBody可直接返回数据
  • ModeAndView,返回一个view页面
  1. Model、ModelMap、ModelAndView
  • Model是用于给View传递数据的模型
  • ModeMap是用于服务给页面传递数据的,无需自己创建,容器自动注入
  • ModeAndView,需要自行创建定义返回的视图和数据模型
  1. Filter和Interceptor的区别
  • Filter是基于函数回调(doFilter()方法)的,而Interceptor则是基于Java反射的(AOP思想)。
  • Filter依赖于Servlet容器,而Interceptor不依赖于Servlet容器。
  • Filter对几乎所有的请求起作用,而Interceptor只能对action请求起作用。
  • Interceptor可以访问Action的上下文,值栈里的对象,而Filter不能。
  • 在action的生命周期里,Interceptor可以被多次调用,而Filter只能在容器初始化时调用一次。
  1. spring MVC工作原理


    Spring MVC 工作原理
  • 客户端(浏览器)发送请求,直接请求到DispatcherServlet
  • DispatcherServlet根据请求信息调用HandlerMapping,解析请求对应的Handler。
  • 解析到对应的Handler(也就是我们平常说的Controller控制器)。
  • HandlerAdapter会根据Handler来调用真正的处理器来处理请求和执行相对应的业务逻辑。
  • 处理器处理完业务后,会返回一个ModelAndView对象,Model是返回的数据对象,View是逻辑上的View。
  • ViewResolver会根据逻辑View去查找实际的View。
  • DispatcherServlet把返回的Model传给View(视图渲染)。
  • View返回给请求者(浏览器)

相关文章

网友评论

      本文标题:springmvc

      本文链接:https://www.haomeiwen.com/subject/hclcuhtx.html