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

Java Web 開發入門:SSH 整合框架與 DWR 選型對比

     編輯:程式設計綜合問答

核心定位差異

維度SSH (Struts2 + Spring + Hibernate)DWR (Direct Web Remoting)
架構層級全棧 MVC 框架AJAX 通信庫 (Client↔Server 遠程調用)
核心功能請求分發、業務事務、ORM 持久化Java 方法暴露為 JavaScript 可直接調用
適用場景傳統表單/頁面跳轉 Web 應用富客戶端、大量異步交互、單頁應用雛形
學習曲線較陡 (三大框架整合配置)平緩 (僅需配置 dwr.xml + 註解)
社區生態成熟、文檔豐富、企業級標配較小眾、更新緩慢、現代項目少用

SSH 入門學習路徑

  1. Spring IOC/AOP:掌握依賴注入、事務管理 (@Transactional)。
  2. Hibernate/JPA:實體映射、HQL/Criteria、一級/二級緩存。
  3. Struts2:Action、攔截器、結果類型、OGNL 表達式、標簽庫。
  4. 整合:applicationContext.xml 統一管理 Bean,Struts2 通過 Spring 插件獲取 Service。

DWR 快速上手

<!-- web.xml -->
<servlet>
    <servlet-name>dwr</servlet-name>
    <servlet-class>org.directwebremoting.servlet.DwrServlet</servlet-class>
    <init-param>
        <param-name>debug</param-name>
        <param-value>true</param-value>
    </init-param>
</servlet>

<!-- dwr.xml -->
<allow>
    <create creator="spring" javascript="UserService">
        <param name="beanName" value="userService"/>
    </create>
    <convert converter="bean" match="com.example.User"/>
</allow>

<!-- JavaScript 頁面 -->
<script src="/dwr/interface/UserService.js"></script>
<script>
UserService.getUser(1, function(user) { alert(user.name); });
</script>

選型建議

  • 新項目/企業級系統:首選 **Spring Boot + Spring MVC + MyBatis/JPA** (現代 SSH 替代者),生態活躍、配置簡化。
  • 維護老項目:按現有技術棧 (SSH/DWR) 維護,避免大規模重構風險。
  • 學習目的:先學 **Spring 生態** (核心容器、MVC、Data),再補充 Struts2/Hibernate 歷史包袱理解;DWR 可作為了解 AJAX 演進的補充知識。

現代替代方案對比

方案特點
Spring Boot + Vue/React前後端分離、REST API、生態最強
Spring MVC + Thymeleaf服務端渲染、簡單項目快速開發
GraphQL (Spring GraphQL)按需獲取、減少過度獲取
WebSocket / SSE實時雙向通信、替代輪詢
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved