一、框架
使用框架技术的优势
- 不用考虑公共问题,框架已经为我们做好了
- 可以专心在业务逻辑上,保证核心业务逻辑的开发质量
- 结构统一,便于学习,维护
- 最重要的一点:框架中集成了前人的经验,可以帮助新手写出稳健。性能优良而且结构优美的高质量程序
什么是框架(Framework)
- 框架是一个提供了可重用的公共结构的半成品。一方面提供了可以拿来就用的工具,也提供了可重用的设计
- 框架使混乱的东西变得结构化
- 框架是一组协同工作的组件
MVC:Model-View-Controller(数据模型+视图+控制器),仅存在于三层架构的展现层。
二、java框架
java中的主流框架:Struts框架
1、Struts框架,是MVC设计模式的体现。Struts定义了通用的Controller(控制器),通过配置文件(一般是struts.config.xml)隔离了Model(模型)和View(视图),以Action的概念对用户请求做了封装,使代码更清晰易读。Struts还提供了自动将请求的数据填充到对象中及页面标签等简化编码的工具。
2、Struts2以webwork为内核,吸收了struts框架的核心,提供了更加简洁的MVC设计模式实现的web应用程序框架。它引入了几个新的框架特性:从逻辑中分离出横切关注点的拦截器,减少或消除配置文件,贯穿整个框架的强大表达式语言,支持可变更和可重用的基于MVC模式的标签API,Struts2充分利用了从其他MVC框架学到的经验和教训,是框架更加清晰,灵活;
3、Struts的优点:
- 最大的优点:开源;
- 实现了MVC模式,并有丰富的tag标签可用;
- 通过一个配置文件,即可把握整个系统各部分之间的联系,并提供Exception处理机制,数据库连接池还支持I18N
- Struts框架使开发者在构建基于Java Servlet和JSP技术的web应用时更加容易,并且提供了一个统一的标准框架;
4、缺点:
- Struts的Action必须是线程安全的,它仅仅允许一个实例去处理所有的请求。所以Action用到的所有资源都必须统一同步,这就引起了线程安全问题;
- Struts适用范围有限,它是基于web的MVC解决方案,所以 必须用到HTML,JSP和Servlet来实现它;
java中的主流框架:Hidbernate框架
1、java是面向对象的,而主流的数据库是面向关系的数据库表,Hibernate框架就是处理对象和数据库表之间的转换的问题的;
2、Hibernate是开源持久化的框架,负责简化将对象数据保存到数据库中或从数据库中读取数据并封装到对象的工作。通过简单配置和编码即可替代JDBC繁琐的程序代码。
使程序员使用面向对象的编程思维来操作数据库;
Hibernate可以应用到C/S或B/S结构中,Struts只能用在B/S程序;
java中的主流框架:Spring框架、Spring Boot框架
1、是轻量级的框架,渗透了JavaEE 技术的各方面,它主要作为依赖注入容器和AOP,还提供了声明式事物,对DAO层的支持等简化开发的功能。
Spring还可以和Struts,Struts2,Hibernate等技术集成;构成了比较流行的SSH架构;
2、Spring优点:
- 低侵入式设计,代码污染极低;
- 独立于各种应用服务器,可以真正实现 Write Once,Run Anywhere(一次编写到处运行)
- Spring的DI机制(依赖注入)降低了业务对象替换的复杂性;
- Spring开发并不完全依赖于Spring所有组件,开发者可以自由选择使用Spring框架的部分或全部组件;
SSH架构就是使用Spring部分组件,然后与Struts和Hibernate进行整合;
此外还有DWR框架(Ajax框架),jQuery框架等;