J2EE开发技术概述

文章目录

  • 主流Web开发技术
  • 一、JAVA & J2EE
  • Java EE
  • Java EE应用分层结构
  • Java EE应用的分层模型(1)
  • JavaEE的组件和容器
  • 优秀的轻量级Java EE架构
  • 企业Java相关技术
    • 1) JSP、Servlet和JavaBean
    • 2) Struts
    • 3) Hibernate
    • 4) Spring
  • SSH/SSM结构分析
  • 轻量级Java EE应用技术
  • WEB服务器
  • 常用的Java EE服务器


主流Web开发技术

  • 企业应用开发覆盖面比较广泛,基本上都是围绕数据中心式的Web应用

  • Web开发的常用技术:

  • Java:JavaEE SSH, SSM, SpringBoot

  • C#: Asp.net

  • Python: Django, Flask

  • PHP: Larave,ThinkPHP,CodeIgnite

  • Node.js: Express, Koa

  • 前端:JavaScript,Html, CSS, Vue, react

  • 移动开发、数据库开发这三大领域的主流技术都可以关注

  • 绝大多数企业应用都会使用到数据库:

  • 关系型数据库(MySQL, SQL Server,PostgreSQL,)

  • 非关系型数据库 (MongoDB, Counchbase)

  • 云服务 (Firebase, AWS, DocumentDB,Azure)

  • 轻量级(SQLite, NeDB, Redis)

一、JAVA & J2EE

  • Java和Java EE是两个不同概念
  • Java不仅指一种语言,也指一种软件系统的流派
  • 目前JAVA 有三个平台:
    • 适用于小型设备和智能卡的Java 平台Micro版(Java Platform Micro Edition,Java ME)
    • 适用于桌面系统的Java 平台标准版(Java Platform Standard Edition,Java SE)
    • 适用于创建服务器应用程序和服务的Java平台企业版(Java Platform EnterPrise Edition,Java EE)。

Java EE

  • Java EE是将所有基于Java的企业应用开发技术集合在一个体系结构下的平台
  • 与Microsoft公司的.Net相比, Java EE更能满足互联网在智能化Web服务方面的开放性、分布性和平台无关性
  • 运用Java技术开发企业应用的标准
    • 多层应用开发模型
    • 开发平台 - APIs 和服务
    • 测试软件包
    • 参考实现
  • Java EE平台已经成为电信、金融、电子商务、保险、证券等各行业的大型系统的首选开发平台。
  • Java EE大致分为几种方式:
    • (1)以EJB3+JPA为核心的经典Java EE开发平台。
    • (2)以Spring为核心的轻量级Java EE企业开发平台。
    • (3)基于Spring boot,Spring cloud开发

Java EE应用分层结构

J2EE开发技术概述_第1张图片
J2EE开发技术概述_第2张图片

Java EE应用的分层模型(1)

  • 表现层:此层由系列的jsp页面、Velocity页面、PDF文档视图组件组成,负责收集用户请求,并显示处理结果。
  • 控制器层:此层由系列控制器组成,这些控制器用于拦截用户请求,并调用业务逻辑组件的业务逻辑方法,处理用户请求,并根据处理结果转发到不同的表现层组件。
  • 业务逻辑层:此层由系列的业务逻辑对象组成
    • 业务逻辑对象实现了系统所需要的业务逻辑方法。这些业务逻辑方法可能是依赖DAO组件实现的业务逻辑方法,也可能仅仅用于暴露Domain Object对象所实现的业务逻辑方法
  • 数据访问对象(Data Access Object,DAO)层:此层由系列的DAO组成,这些DAO实现了对数据库的创建、查询、更新和删除(CRUD)等原子操作。
  • 领域对象(Domain Object )层:此层由系列的POJO(Plain Old Java Object,普通传统的Java对象)

J2EE开发技术概述_第3张图片

JavaEE的组件和容器

  • 组件:JavaEE基本的软件单元——面包

  • 容器:分布式组件的运行环境 ——烤箱

  • 容器为组件提供必需的底层基础功能——服务

    • javaEE的容器由厂商实现,javaEE服务器中均包含Web容器和EJB容器的实现
    • 如JDBC、JMS、JNDI服务、持久化、事务支持、并发、安全性、资源和生命周期管理

优秀的轻量级Java EE架构

  • Struts2/SpringMVC+Spring+Hibernate/MyBatis

  • Struts2/Spring MVC进行流程控制,Spring进行业务流转,Hibernate/Mybatis进行数据库操作的封装

  • 整体框架和业务层用Spring,控制层用Struts/Spring MVC,而持久层用Hibernate/MyBatis

企业Java相关技术

  • JSP、Servlet和JavaBean
  • Struts 2/SpringMVC
  • Hibernate/MyBatis
  • Spring

1) JSP、Servlet和JavaBean

  • JSP,Servlet是最早的Java EE规范之一, 同属表现层,都属于“动态网页技术”

  • 静态网页技术就是把做好的html文件直接上传到服务器并直接供客户浏览

  • 动态网页技术则是每次都根据用户请求,动态生成响应页面并返回。

  • 优势:灵活性,数据保密性

  • JSP:全称是JavaServer Page。在html页面中嵌入JSP标记和脚本代码。* * JSP把静态内容和动态内容的分离,实现了内容和表示的分离。

  • JSP必须被Web服务器翻译成Servlet,真正在Web服务器内运行的是Servlet。

  • Servlet:实际上就是按照Servlet规范编写的一个java类,与传统的命令行启动的Java应用程序不同,Servlet位于Web服务器内部,并由Web服务器加载并调用。

  • JavaBean 是一种JAVA语言写成的可重用组件,一种特殊的Java类,就是有默认构造方法,只有get,set的方法的java类的对象

  • JavaBean分为可视化组件和非可视化组件

    • 可视化组件可以是简单的GUI元素,如按钮或文本框,也可以是复杂的,如报表组件
    • 非可视化组件没有GUI表现形式,用于封装业务逻辑、数据库操作等
  • 最大优点在于可以实现代码的可重用性

2) Struts

  • Struts其主要的设计理念是通过控制器将表现逻辑和业务逻辑解耦,以提高系统的可维护性、可扩展性和可重用性。
  • Struts是Java EE应用中使用最早和最广泛的MVC框架,其作者是JSP规范的制定者,也参与了Tomcat的开发。主要分为模型(Model)、视图(Viewer)和控制器(Controller)三部分
  • 早期的Struts框架与另一个优秀的MVC框架WebWork相结合产生了全新的Struts 2
  • 类似框架: Spring MVC

3) Hibernate

  • Hibernate框架是一种开源的、轻量级的ORM框架,它允许将普通的、传统的Java对象(POJO)映射成持久化类,允许应用程序以面向对象的方式来操作POJO,而Hibernate框架负责将这种操作转换成底层的SQL操作。
  • 类似框架:mybatis

4) Spring

  • Spring是一个解决了许多Java EE开发中常见问题的强大的轻量级框架。
  • Spring只是抽象了大量Java EE应用中常用代码,将它们抽象成一个框架,通过使用Spring可以大幅度地提高开发效率,并可以保证整个应用具有良好的设计。
  • Spring比较像是一种中间层容器,向上它可以和MVC框架无缝整合,向下可以与各种持久层框架无缝整合。
  • Spring框架的核心是控制翻转IoC(Inversion of Control)/依赖注入DI(Dependence Injection)机制

SSH/SSM结构分析

J2EE开发技术概述_第4张图片

轻量级Java EE应用技术

  • 轻量级Java EE应用以传统的JSP作为表现层技术,以系统开源框架Struts/Spring MVC、Spring、Hibernate、MyBatis分别做为MVC层、中间层和持久层,将这些开源框架有机组合在一起,形成开发具有高度的可扩展性、可维护性的Java EE应用的解决方案。
  • 如果系统没有使用任何框架
    • 软件维护:全部采用JSP和Servlet的应用,分层不够清晰,业务逻辑的实现没有单独分离出来,造成系统后期维护困难。
    • 软件复用:每次开发系统都需要重新开发,不仅增加了系统出错的风险,也需要投入更多的人力和物力。

WEB服务器

  • 采用SSH/SSM组合架构的软件系统无须专业的Java EE服务器支持,只需要简单的Web服务器就可以运行。Java领域常见的Web服务器都是开源的,而且具有很好的稳定性,以下是其中主流的几个:
    • Tomcat:Tomcat和Java结合的最好,是Sun官方推荐的JSP服务器。
    • Jetty:一个优秀的Web服务器。Jetty的优点在于,Jetty可以作为一个嵌入式服务器,即:如果在应用中加入Jetty的JAR文件,应用可在代码中对外提供Web服务。
    • Resin:目前最快的JSP、Servlet运行平台、支持EJB。学习免费,商用收费。

常用的Java EE服务器

  • 除了上述Web服务器以外,还有一些专业的Java EE服务器,相对于普通的Web服务器而言,Java EE服务器支持更多的Java EE特性,比如分布式事务、EJB容器等。常见的主要有以下几个:
    • JBoss:开源的Java EE服务器,目前支持EJB 3.0技术。
    • WebLogic和WebShpere:这两个是专业的商务Java EE服务器,价格不菲,但性能等各方面相当出色。

你可能感兴趣的