• 我对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。

  • 相关阅读:
    Zabbix Server 和 Zabbix Agentd 开机自动运行
    nginx+keepalive实现高可用负载均衡
    zabbix添加对web页面url的状态监控
    Zabbix当内存剩余不足10%的时候触发报警
    zabbix cpu监控介绍
    bash小结
    数据库知识入门
    MySQL简单管理
    python环境
    paramiko实现putty功能
  • 原文地址:https://www.cnblogs.com/timePasser-leoli/p/7423962.html
Copyright © 2020-2023  润新知