• java MVC架构-spring mvc,struct2(理解)


    MVC架构实现基础:
      基于filter或者servlet实现请求地址分析,如果需要控制类处理请求,则调用相应的控制类。调用控制类时,根据配置文件初始化控制类相关的参数。数据库连接可持久化存在。控制类处理完毕,返回数据以及模板文件,渲染模板文件,返回给客户端。
    步骤简化,则有4步:

    1. 按照配置文件或者注解,初始化所有的控制类,完成url和控制类的映射;
    2. 接收请求,判断使用的控制类;
    3. 注入控制类或方法需要的参数,调用对应的控制类或方法处理,返回数据和模板文件地址;
    4. 根据返回的数据和模板文件地址,渲染模板文件,返回给客户端。

      这是基本的MVC架构必须实现的流程,性能问题通过各种优化,基本可以达到可用的水平。

      控制类的实例化,依赖于反射机制。利用反射,获悉控制类的属性以及方法的参数,在调用控制类的方法时,可按照参数名称以及请求参数的对应关系,初始化相关参数,执行控制类方法。控制类方法执行完后,会返回约定的类型,比如字符串,表示需要使用的模板文件,或者重定向的地址;Spring的ModelAndView,包含数据和模板文件;Map,包含数据,使用默认的模板文件;void,没用数据,只是调用默认的模板文件。通过判断返回值类型,MVC框架可进行约定的行为,完成最后的View数据装配,返回给客户端。

      常见基于java语言的MVC架构有struct以及struct2,spring mvc。早期的spring多作为struct的控制类实例化模块存在,在web.xml中使用的是listener完成所有的bean初始化,依赖注入等操作,但配置文件的编写繁琐。struct的配置文件,需将请求地址以及控制类的映射关系,集中写在配置文件中,编写也很繁琐。

      在大型网站开发时,多人协作,集中编写同一个配置文件,会产生冲突,因此需要使用一种相对简单的方式实现,请求地址同控制类的映射关系配置。
      在java注解出现后,Spring MVC使用了注解的形式完成了此映射初始化,易于在多协作开发时实现。其实,工程结构即配置的关系映射方式,辅以注解特殊处理的方式,应该更加易于接受。

      返回的模板文件,struct使用了自定义的标签,侵入厉害,不易于复用。应使用一种侵入最小,修改最容易的方式作为模板的编写形式。或者前后端使用json格式进行通信,减少后端模板文件的使用,更加易于功能的扩展开发。

  • 相关阅读:
    MySql——编程
    MySql——事务控制语言(DTL)
    wamp-php 集成环境的基础配置
    用户的 添加 权限 MySql远程登录
    使用模拟器调试移动端
    new关键字对构造函数做了什么
    H5与Native交互之JSBridge技术
    拍照上传头像图像旋转的问题
    Vue实现用户自定义上传头像裁剪
    H5图片压缩上传
  • 原文地址:https://www.cnblogs.com/mahuan2/p/4703233.html
Copyright © 2020-2023  润新知