JAVA和Nginx 教程大全

网站首页 > 精选教程 正文

第一章JavaEE应用与开发环境--读书系列

wys521 2024-11-24 22:47:41 精选教程 18 ℃ 0 评论
从今天开始,我将开启一个全新系列《读书系列》,我会把学习技术过程中阅读过的所有书籍通过笔记和
总结的方式与粉丝分享与探讨,此系列是在原著基础上收录和总结而来,希望大家得到更多的支持。

本书简介

书名为《轻量级JavaEE企业应用实战》,是本人在学习JavaEE(当时还叫J2EE)框架的时候阅读的第一本书,本书对于框架及相关基础知识讲述的比较详细和浅显,适合初学者和需要了解全面JavaEE知识的人群。

本文内容为《轻量级JavaEE企业应用实战》第一章的前半部分内容

由于书本较厚收录和总结需要时间请大家谅解


常见应用系统分层

1.Domain Object层(领域对象):此层由系列的POJO组成,本质上就是业务实体。

2.DAO层:此层由系列的DAO组件组成,这些类实现了对数据库的增删改查(CRUD)等原子操作。

3.业务逻辑层:此层由系列的业务逻辑对象组成,这些业务逻辑对象实现了系统所需的业务逻辑方法,这些业务逻辑方法依赖于DAO组件实现。

4.控制器层:此层由系列控制器组成,这些控制器用于拦截用户请求,并调用业务逻辑组件的方法,处理用户请求,并根据处理结果转发到不同的表现层组件。

5.表现层:此层由系列的JSP页面、HTML页面组成,此层负责收集用户请求,并显示处理结果。


常用JavaEE服务器

Tomcat:和JAVA结合的最好开源服务器,是Sun官方推荐的JSP服务器,经过长时间发展,性能、稳定性方面都很优秀。

Jetty:Jetty有个很大优势,它可作为嵌入式服务器,如果在应用中加入Jetty的JAR文件,应用可在代码中对外提供Web服务。

Resin:目前最快的JSP服务器,支持EJB。个人学习该服务器是免费的,但如果想商业使用,则需要交纳费用。

JBoss:开源的JavaEE服务器,支持EJB。

WebLogic、WebSphere:这是两个专业商用JavaEE服务器,拥有很多特殊的功能。


JavaEE常用技术

1.JSP、Servlet、JavaBean及替代技术

JSP是最早的JavaEE规范之一,充当应用的表现层;简单易学,往往是JavaEE学习的基础。

Servlet与JSP二者在底层的运行原理一样,实际上JSP必须被编译成Servlet,并在WEB服务器中运行。实践中Servlet已经被使用的很少了,各大框架都将其作为底层技术。Servlet3.0规范增加了异步请求、注解、增强API等新的功能。

JavaEE使用JavaBean来传输数据,中间层组件将应用底层状态信息封装成JavaBean集,也被称为

DTO(Data Transfer Object,数据传输对象),并将这些DTO传到JSP以显示应用底层数据。

2.Struts2及替代技术

Struts是世界最早的MVC框架,其作者是JSP规范的制定者,并参与了Tomcat的开发。Struts2是Struts结合WebWork而来。后来Spring家族也产生了自己的MVC框架Spring MVC并应用广泛。

3.Hibernate及替代技术

传统JAVA采用JDBC来访问数据库,它是基于SQL的操作方式,但它不是面向对象的思维,由此诞生了ORM框架,可以让你用面向对象的方式来操作关系型数据库。最早的ORM框架就是EJB,但很多人觉得EJB非常繁琐,Hibernate应运而生。它允许将普通的、传统的Java对象映射成持久化类,让应用以面向对象的方式来操作POJO,而Hibernate负责将这种操作转换为底层SQL。再后来Sun抛弃了EJB,引入了JPA规范,JPA也是一种ORM规范,底层可以使用Hibernate作为实现。

除了Hibernate框架还可以使用MyBatis作为轻量级持久层框架,MyBatis允许将SQL语句映射成对象。

4.Spring及替代技术

Spring抽象了JavaEE应用中的常用代码,将他们抽象成一个框架,通过Spring可以大幅提高开发效率,并保证应用具有良好设计。Spring充满了各种设计模式,如单例、工厂、命令、责任链、代理等。Spring更像一种中间层容器,向上可以与MVC框架无缝整合,向下可以与各种持久层框架无缝整合,Spring框架暂时没有较好的替代框架。


争议与思考

讨论:本人在实际工作中经常听到年轻的工程师说,Hibernate和ORM框架已经过时了,现在都用MyBatis。
本人是ORM和JPA规范的强烈推崇者,Hibernate是更符合设计规则的框架,而MyBatis更多的还是开发简单
快捷。对于Hibernate和MyBatis的哪个好你有什么想说的吗?咱们评论区见。

Tags:

本文暂时没有评论,来添加一个吧(●'◡'●)

欢迎 发表评论:

最近发表
标签列表