首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> Java 程式設計 >> Java 程式設計入門

J2EE 13 種核心技術全景解析

     編輯:Java 程式設計入門

J2EE 架構演進:從兩層到多層

傳統 C/S 兩層架構痛點:客戶端承擔業務邏輯+展示,難維護、難擴展、協議私有。
J2EE 定義標準化多層架構:

┌─────────────────────────────────────┐
│  客戶層:瀏覽器 / Java Applet / 應用客戶端  │
├─────────────────────────────────────┤
│  表現層:JSP / Servlet / JSF / Web Service  │
├─────────────────────────────────────┤
│  業務邏輯層:Session EJB / POJO / Spring Bean │
├─────────────────────────────────────┤
│  數據訪問層:Entity EJB / JPA / Hibernate / JDBC │
├─────────────────────────────────────┤
│  數據層:關係數據庫 / 舊系統 / ERP        │
└─────────────────────────────────────┘

13 種核心技術分類速覽

數據訪問類

技術全稱核心作用
JDBCJava Database Connectivity統一關係數據庫訪問 API,DriverManager/DataSource/Connection/Statement/ResultSet
JPAJava Persistence APIORM 標準(EJB 3.0+),EntityManager、JPQL、實體生命周期

命名與目錄服務

技術全稱核心作用
JNDIJava Naming and Directory Interface統一命名服務:DataSource、EJB、JMS、環境變量查找,Context/InitialContext

組件模型

技術全稱核心作用
EJBEnterprise JavaBeans業務組件:Session Bean(有狀/無狀)、Message-Driven Bean、Entity Bean(舊)、事務/安全/並發容器管理

遠程通信

技術全稱核心作用
RMIRemote Method InvocationJava 遠程調用:Stub/Skeleton、Registry、序列化、RMI-IIOP 支持 CORBA 互操作
Java IDLJava IDL (CORBA)CORBA 集成:IDL 定義接口、ORB、跨語言調用

Web 技術

技術全稱核心作用
ServletServlet API服務端請求處理:HttpServlet、Filter、Listener、異步處理、WebSocket
JSPJavaServer Pages動態頁面模板:標簽庫、EL 表達式、JSTL、編譯為 Servlet

數據交換

技術全稱核心作用
XMLeXtensible Markup Language配置、數據交換、Web Service、JAXP/JAXB 處理

消息中間件

技術全稱核心作用
JMSJava Message Service異步消息:Point-to-Point (Queue)、Pub/Sub (Topic)、Connection/Session/Producer/Consumer、MDB 集成

事務管理

技術全稱核心作用
JTAJava Transaction API分布式事務:UserTransaction、TransactionManager、XAResource、兩階段提交
JTSJava Transaction Service事務服務實現:CORBA OTS 映射、事務傳播、JTA 的底層實現

企業集成

技術全稱核心作用
JavaMailJavaMail API郵件發送/接收:Session、Message、Transport、Store、SMTP/IMAP/POP3
JAFJavaBeans Activation Framework數據內容處理:DataHandler、DataSource、CommandMap、MIME 類型識別、JavaMail 依賴

WebLogic 應用服務器集成示例

DataSource 配置 (config.xml)


<jdbc-connection-pool name="MyPool" 
    driver="oracle.jdbc.OracleDriver"
    url="jdbc:oracle:thin:@localhost:1521:ORCL"
    user="scott" password="tiger" />

<jdbc-data-source name="MyDataSource" 
    pool-name="MyPool" 
    jndi-name="jdbc/MyDataSource" />

Session Bean 使用 JNDI 查找


@Stateless
public class OrderServiceBean implements OrderService {
    @Resource(name="jdbc/MyDataSource")
    DataSource ds;
    
    public void createOrder(Order order) {
        try (Connection conn = ds.getConnection()) {
            // JDBC 操作
        } catch (SQLException e) {
            throw new EJBException(e);
        }
    }
}

JMS 消息發送


@Resource(mappedName="jms/OrderQueue")
Queue orderQueue;

@Resource(mappedName="jms/OrderQueueFactory")
ConnectionFactory cf;

public void sendOrder(Order order) {
    try (JMSContext ctx = cf.createContext()) {
        ctx.createProducer().send(orderQueue, order);
    }
}

技術選型演進路線

早期 J2EE (1.2/1.3)          現代 Java EE / Jakarta EE
├─ Entity Bean (CMP/BMP)    →  ├─ JPA (Hibernate/EclipseLink)
├─ Session Bean (Remote)    →  ├─ Local EJB / CDI Bean / Spring
├─ JSP + Servlet            →  ├─ JSF / Facelets / Thymeleaf / REST API
├─ JAX-RPC (SOAP)           →  ├─ JAX-RS (REST) / gRPC
├─ JMS (Vendor Queue)       →  ├─ JMS / Kafka / RabbitMQ
├─ JTA (Full XA)            →  ├─ JTA / Saga / Eventual Consistency
└─ JavaMail / JAF           →  └─ JavaMail / Spring Mail / SendGrid SDK

WebLogic 核心優勢

  • 標準完整實現所有 13 種技術
  • 管理控制台強大:部署、監控、診斷、配置
  • 集群、負載均衡、失敗轉移成熟
  • WLST 腳本自動化運維
  • 生產級性能調優工具(JRockit Mission Control)

總結

理解 J2EE 13 種技術的定位、交互邊界、演進方向,是架構師設計企業級系統的基礎。現代發展趨勢:輕量級、標準化、雲原生、響應式,但核心問題域(事務、消息、持久化、安全、遠程調用)始終不變。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved