认识 J2EE

写这篇文章之前,我对J2EE的认识特别的模糊,虽然做前端开发有一年了,但是对平台和框架的认识和了解特少,

最近刚好在自己尝试做个在线的小东西锻炼一下,遇到了一个百思不得其解的问题后决定还是整理一下,了解一

下J2EE,本篇文章属于理论知识的罗列,但我会在其中标注后续文章将会介绍的要点

1. J2EE的由来

  a. 应用程序的结构演化: 单层    ----->   客户/服务器    ------> Web 应用程序(3+层)

      这个演化也是 用户界面(表示层)、应用逻辑(业务逻辑层)、数据访问(数据访问层)  这三部分逐步解耦的过程

  b. 企业级应用的开发面临的问题:

   1. 分布式  2. 可移植  3. 面向Web  4. 旧系统继承支持  5. 可装配  6. 满足企业计算要求  7. 易扩展、易维护

  c. J2EE提供了一套完整的解决上述7个问题的框架方案

    @提供了分布式、可移植构件的框架

    @为构件和应用服务器提供标准API

    @简化了服务器端中间层构件的设计

2. 什么是J2EE?

  1. Java 从一种语言发展为一个平台(J2ME, J2SE, J2EE)

  2. J2EE 架构:

    a. J2EE容器和构件     --(容器的总结和分析见下篇)

    b. J2EE核心技术 (13种)

3. J2EE核心技术

  1. EJB(Enterprise JavaBeans)

    • EJB是Java服务器端组件的开发规范,软件厂商根据它来实现EJB服务器
      • EJB服务器是管理EJB容器的的高端进程或应用程序, 提供对系统服务的访问
      • EJB两种: 会话EJB给用户提供服务(某业务逻辑,DB查询), 实体EJB代表数据对象  
    • EJB使整个程序分块明显,EJB可以使用其他EJB或JDBC服务(可扩展性)
    • EJB规范简化分布式应用程序开发的复杂性, EJB程序猿无需担心事物处理、多线程
      资源管理等问题, 专注业务逻辑即可
    • EJB的使用增强了系统程序的可靠性、可管理性和可移植性
    • EJB容器是EJB的运行环境,提供规范中定义的接口使EJB类访问所需的服务; EJB 容器接受三种EJB
      • 会话 Bean (Session Bean)
        • 无状态会话Bean
          无状态会话Bean是一类不包含状态信息的分布式对象,允许来自数个客户端的并发访问。实例变量的内容在前后数次呼出中不保证被保留
          举例: 一个发送邮件的EJB就可被设计为一个无状态会话Bean。在整个会话期,用户只向服务器提交一个动作:发送指定邮件到指定地址 (开关行为)
        • 有状态会话bean
          有状态会话Bean是包含状态的分布式对象,即是说,贯穿整个会话它们都要保有客户端信息
          举例:在一个网上商店进行实施结账很可能就需要一个有状态会话Bean。 尽管这种Bean的状态信息可被保持,但始终只能同是由一个用户来访问
      • 实体 Bean (Entity Bean)
      • 消息驱动 Bean (Message Driven Beans, MDBs)

  2. CORBA (Common Object Request Broker Architecture)

    • 分布式对象体系结构, 独立于平台,独立于语言(还不懂!)
    • 一个对象可以被本机上的客户或远程客户通过方法激活来存取
    • 上述互操作性的关键是IDL(Interface Definition Language), IDL说明对象接口中的方法, 这些方法
      被其他对象(或应用)激活

  3. RMI (Remote Methoed Invoke) -- 被EJB使用的更底层的协议

    • RMI协议调用远程对象上的方法, 使用序列化方式在客户端和服务器端的对象之间传递数据
    • RMI 和 CORBA 对比
      1. Java RMI是针对分布式对象计算的纯Java解决方案, 对象的接口都是用Java定义, 而不是IDL
      2. Java RMI继承了Java的安全性; CORBA没有定义安全服务
      3. 不同的软件开发商可能提供不同的CORBA实现, 跨平台匹配困难; 所有平台都支持JVM, 故Java RMI
          具有更高的移植性

  4. JSP (Java Server Pages)

    • 服务器端的脚本语言, 以Java和Servlet为基础开发的动态网页生成技术, 底层实现是Java Servlet
    • JSP页面由HTML代码和嵌入其中的Java代码组成。用户请求页面后, Server对Java代码进行处理, 将生成
      的HTML页面返回给客户端浏览器
    • JSP is translate into Servlet before it is executed; Translate发生在第一次请求

  5. Java Servlet --扩展Web服务器功能的技术

    • Servlets (=Server + Applet): 运行于Web服务器端的Java小程序, 用于扩展Web服务器的功能
    • Servlet用Java实现, 能访问整个Java API库, 继承了Java的所有特性 (跨平台、多线程、OO)
    • Servlets同样适用HTTP协议与客户端进行通信
    • Java Servlet 和 JSP 的比较:
      1. 都是基于Java的技术; JSP先被JSP容器转换为Servlet代码在编译成类; 二者都负责跟Client连接
      2. Servlet接受Client请求, JSP返回信息给Client; JSP实现将界面设计和业务逻辑分离

  6. Java Bean

    • 基于Java的组件模型, 有点儿类似于Microsoft的COM组件
    • Java Bean可以无限扩充Java程序的功能, 通过Java Bean的组合可以快速生成新的应用程序
    • Java Bean传统的应用是在可视化领域(AWT); JSP诞生后, Java Bean在服务器端又有了用武之地

  7. JDBC

    • JDBC是一组API, 定义了用来访问数据源的标准Java类库(用标准的方法, 方便的访问数据库资源)
    • JDBC API为访问不同的数据库提供了统一的方法
    • 使用JDBC可以连接任何提供了JDBC驱动程序的数据库系统, 无需程序猿对数据库系统的特点了解过多

  8. XML (Extensible Markup Language)

    • 用来不同的商务过程中共享数据
    • XML发展和Java相互独立, 但都具有平台独立性
    • J2EE平台全面支持和实施XML

  9. JMS

    • JMS是基于Java的技术, 因而是平台无关的。 为消息服务定义了通用的Java语言接口, 支持最常见的
      消息传递模型(发布/订阅, 点到点)
    • JMS通常用来实现异构系统间的松散集成

  10. 以下是对应于服务的企业级API:

    1. JNDI(Java Naming and  Directory Interface)
    2. JMAPI(Java  Management API)
    3. JTS/JTA(Java Transaction Service/API)
    4. Java Security API

 

  

  

转载于:https://www.cnblogs.com/jameswhf/p/J2EE_note_01.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值