zoukankan      html  css  js  c++  java
  • 我对SpringMVC的浅见

    之前在学校没接触框架这东西之前只接触过MVC的model1和model2,而真正接触SpringMVC的时候是在一年前,在学习过程中,我这才意识到SpringMVC大大简化了以前的开发工程,到了社会上,不管去面试还是真正去到公司里,好多都是需求SpringMVC的。

    面试的时候,有时候面试官会让你回答两个问题

    1.谈一谈自己对SpringMVC的理解,如果想简洁明了,我觉得可以这么回答:

    SpringMVC是spring提供的构建web项目结构的mvc模块,它实现了对web层的职责解耦,提供了非常灵活的数据验证、格式化和数据绑定机制,主要的是提供了注解机制,利用反射机制原理解决大量配置的问题。

    2.讲一下SpringMVC的执行流程,几句话带过就这么说:

    客户端发起请求进入到前端控制器(DispatcherServlet),DispatcherServlet请求HandlerMapping寻找Handler,找到后返回给DispatcherServlet,然后执行Handler,执行完成后返回一个ModelAndView对象给处理器适配器,并且由处理器适配器返回给DispatcherServlet,DispatcherServlet调用视图解析器View Resolver解析ModelAndView对象并返回view对象,渲染后返回客户端。

    常用的注解:

    1.@Controller --声明控制器

    2.@RequestMapping("/person") –声明URL映射

    3.@Autowired –业务接口注入

    4.@ResponseBody --声明方法返回的不是URL地址而是将值直接写入HTTP response body中

    5.@RequestParam --绑定单个请求参数值,写在方法参数前

    6.@SessionAttributes("loginUser") -- 将ModelMap中属性名为loginUser的属性放到Session属性列表中,以便这个属性可以跨请求访问

    SpringMVC 和 Struts2 的区别

    1、SpringMVC基于方法开发的,struts2基于类开发的。SpringMVC将url和Controller方法映射。映射成功后SpringMVC生成一个Handler对象,对象中只包括了一个method。 方法执行结束,形参数据销毁。SpringMVC的Controller开发类似Service开发。

    2、SpringMVC可以进行单例开发,并且建议使用单例开发,struts2通过类的成员变量接收参数,无法使用单例,只能使用多例。(原因就是第一句)

    3、经过实际测试,struts2速度慢,在于使用struts标签,如果使用struts建议使用jstl。

  • 相关阅读:
    Autodesk Infrastructure Map Server 2012(MapGuide 2012) 最新特性介绍
    MapGuide Fusion Viewer API 如何获取Fusion对象
    MapGuide Fusion viewer中如何用Google Map/Yahoo Map/Bing Map做底图
    Visual Studio 2010开发AutoCAD 2012 .net 应用程序调试时断点不起作用
    MapGuide 用户调查关于RFC 111 Subversion
    MapGuide Enterprise 2011 授权错误的解决办法
    AutoCAD的定制开发接口(高级篇)专题培训材料介绍[转载]
    【转】Autodesk实验室从照片进行三维建模
    AutoCAD 2012最新特性概览
    Autodesk Map 3D 2012 新功能介绍
  • 原文地址:https://www.cnblogs.com/timePasser-leoli/p/7423962.html
Copyright © 2011-2022 走看看