zoukankan      html  css  js  c++  java
  • SpringMVC的介绍

    问题:

    在学习了Spring之后,基于MVC设计模式的项目,我们可以使用Mybatis将数据库替换,使用Spring将Controller层和Service层,以及Service层和数据库层之间进行解耦。但是基于MVC的模式中,在Controller层中的Servlet为请求的代码入口。tomcat服务器在接受到请求后,会根据请求地址自定调用对应的servlet的service方法完成请求处理,但是此流程存在如下问题:

    ① 每个功能都要声明对应的Servlet,麻烦。

    ② Servlet中获取请求数据比较麻烦。

    ③ 响应的方式的代码其实只想声明对应的响应数据。

    解决:

    项目只声明一个Servlet,该Servlet作为项目请求的公共入口。并且在该Servlet必须声明代码,此代码根据请求地址调用对应的逻辑代码处理请求。如果将逻辑方法全部声明在Servlet中造成代码的体系结构不清晰,将逻辑方法单独声明到逻辑类中(Controller类)。然后Servlet中根据请求动态的调用对应的逻辑类中的逻辑方法处理请求即可。

    ① 如何在Servlet中获取逻辑类对象呢?

    使用Spring容器的子容器,在子容器中存储所有的Controller的实例化对象,然后Servlet一次性从子容器中获取所有的对象即可。在init方法中实现即可。

    ② 如何在Servlet中根据请求动态调用对象的逻辑方法呢

    使用反射+注解。

    原理图:

    实现:

    SpringMVC

    本质:

    就是将Servlet进行了封装,提供一个公共的Servlet。该Servlet可以根据请求动态的调用对应的逻辑方法完成请求处理。

    优点:

    提升开发效率。

    使用:

    ① 导入SpringMVC的相关jar

    ② web.xml中配置Servlet

    1. Servlet的访问路径
    2. 配置SpringMVC容器对象的配置文件路径

    ③ src下创建并配置SpringMVC配置文件

    1. 配置注解扫描路径
    2. 配置SpringMVC的驱动解析器。
  • 相关阅读:
    高危预警|RDP漏洞或引发大规模蠕虫爆发,用户可用阿里云免费检测服务自检,建议尽快修复
    高危预警| SQL数据库成主要攻击对象,或引发新一轮大规模勒索
    dp练习(7)—— 最小和
    dp练习(6)——搬运礼物
    dp练习(5)——最长严格上升子序列
    dp练习(4)——过河卒
    dp练习(3)——棋盘问题
    dp练习(2)——老鼠的旅行
    dp练习(1)——马走日字
    埃氏筛法——标记质数
  • 原文地址:https://www.cnblogs.com/vincentmax/p/14307948.html
Copyright © 2011-2022 走看看