• 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的驱动解析器。
  • 相关阅读:
    如何使用php实现首页和子页面之间的交互
    用php实现,打开哪个页面哪个页面就有默认的样式
    后台链接前台有关显示不显示
    上传文件的最大值,post传值的最大值得修改
    linux 操作系统的安装,本地登录及远程登录,vnc连接操作详细步骤
    滑动组件
    Numpy简介
    java对象序列化
    集合类操作需要注意的地方
    TreeMap详解
  • 原文地址:https://www.cnblogs.com/vincentmax/p/14307948.html
Copyright © 2020-2023  润新知