首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> 更多程式語言 >> 程式設計綜合問答

JSP + EJB 選型:JBoss 內嵌 Tomcat,無需雙容器部署

     編輯:程式設計綜合問答

結論先行

JBoss (WildFly) 內部已集成 Tomcat (Undertow 為新版 Web 容器),單獨部署 JBoss 即可同時運行 Servlet/JSP 與 EJB,無需額外安裝 Tomcat。

架構演進

版本Web 容器EJB 容器備註
JBoss AS 4/5/6Tomcat 5/6JBoss EJB3早期嵌入 Tomcat
JBoss AS 7 / WildFly 8+UndertowWildFly EJB自研高性能非阻塞容器,Servlet 3.1/4.0

Eclipse 集成建議

  1. 安裝 JBoss Tools 插件(Marketplace 搜索)。
  2. Server 視圖 → New → WildFly 27+ / JBoss EAP 7/8 → 指向安裝目錄。
  3. 專案 Facets 勾選 EJB Module + Dynamic Web Module,Target Runtime 選 WildFly。
  4. 部署:右鍵專案 → Run As → Run on Server,選 WildFly,一鍵發布。

避坑指南

  • 不要同時啟動獨立 Tomcat:端口衝突(8080/9990),類加載器隔離導致 ClassCastException。
  • EJB 遠程調用:客戶端需引用 wildfly-ejb-client-bom,配置 jboss-ejb-client.properties 指向 WildFly Remoting 端口 (8080/4447)。
  • 資源注入:@Resource 查找 DataSource 時,JNDI 名稱以 java:jboss/datasources/... 開頭。

輕量替代方案

若項目不需完整 Java EE(現 Jakarta EE)規範,僅用 EJB 3.x 無狀態 Session Bean,可考慮:

  • Spring Boot + Spring Data JPA:零容器部署,嵌入 Tomcat/Jetty/Undertow,生態更活躍。
  • TomEE / Payara Micro:輕量級 Java EE 容器,體積 < 100MB,啟動秒級。
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved