Java Web开发架构

显示层

  • JSP结合动态显示出列表数据,生成的是HTML
  • 使用JavaScript、CSS、JQuery等开发框架进行页面的动态效果
  • 更好的UI设计
  • 传统框架:HTML + CSS + JavaScript + Ajax + JSP + JSTL + EL + JSON
  • 目前流行框架:Bootstrap + JQuery + JSON + Ajax

控制层

  • 服务器端数据验证
  • 将请求参数转换为VO
  • 调用业务层处理
  • 负责跳转以及信息转发
  • 传统框架:Servlet + Filter
  • 目前流行框架:Struts 2.x ,String MVC

业务层

  • 负责数据库的打开与关闭
  • 进行更新操作的事务处理(使用代理完成)
  • 调用若干个数据层
  • 传统框架:java原生代码实现
  • 目前流行框架:Spring

数据层

  • 负责数据库的CRUD处理
  • 负责数据的缓存控制
  • 传统框架:JDBC原生代码(重复性高)
  • 目前流行框架:MyBatis,IBatis,Hibernate

Spring开发框架

springtool suite4 侧边框_开发框架

Spring开发框架的核心模块

核心容器组件(超级大工厂)

  • Spring本身的容器和web容器是并行状态,同时Spring有自己一套独立的对象创建与回收管理机制
  • Beans:Spring中针对于所有类对象的维护管理,有了Spring后开发都不要出现关键字new
  • Core:包括了整个Spring的运行环境最底层支持,例如依赖注入、控制反转、对象关系的配置、资源访问等
  • Context:描述的是整个开发的上下文环境,所有的对象的生命周期的控制都可以通过此组件完成
  • 表达式语言:使用字符串来描述各种复杂的操作关系

切面编程支持(超级大代理)

  • 给了所有开发者自由控制切面的能力,因此开发者只需要关心核心功能实现。
  • AOP:是整个的切面编程实现的核心灵魂,可进行数据库关闭、事务控制等辅助处理
  • Aspect:提供了切入点表达式支持
  • Instrumentation:动态监测JVM在运行中的状态

数据访问与集成模块

  • 进行数据层操作简化,包括数据层处理和与第三方开发框架的整合能力(MyBatis,IBatis,Hibernate)
  • JDBC:JDBC支持,包括针对配置与数据源的处理操作
  • ORM:与第三方"OR-Mapping"组件的整合处理操作,可利用此组件实现与其他数据层的无缝衔接
  • JMS:可以进行远程的消息处理
  • Transactions:提供了各种事务的控制
  • OXM:提供对象与XML文件之间的互相转换

WEB支持模块

  • MVC框架支持:Spring提供了一套自己的MVC开发框架
  • 其他组件:提供有与其他第三方框架的整个处理(Struts)

springtool suite4 侧边框_MVC_02