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。

  • 相关阅读:
    基础概述 01
    VMware Workstation Pro 无法在Windows 上运行 检查可在Windows上运行的此应用的更新版
    在博客园安家
    mysql的主从复制配置
    PHP 9 大缓存技术总结
    Mysql分库分表方案
    VMware 虚拟机的网络连接方式详解
    关于memecache的使用及清楚示意
    SVN:冲突解决 合并别人的修改
    Linux环境Nginx安装多版本PHP
  • 原文地址:https://www.cnblogs.com/timePasser-leoli/p/7423962.html
Copyright © 2011-2022 走看看