當前位置:首頁 » 編程語言 » javaweb經典

javaweb經典

發布時間: 2025-07-13 11:50:25

A. 關於講web方面的好書推薦

介紹幾本比較經典的。

第一本:《java從入門到精通》(第3版)

【內容介紹】《JAVA核心技術卷2:高級特徵》是Java技術權威指南,全面覆蓋Java技術的高級主題,包括流與文件、XML、網路、資料庫編程、高級Swing、高級 AWT、JavaBean構件、安全、分布式對象、腳本編譯與註解處理等,同時涉及本地化、國際化以及Java SE 6的內容。《JAVA核心技術卷Ⅱ:高級特徵》對Java技術的闡述精確到位,敘述方式深入淺出,並包含大量示例,從而幫助讀者充分理解Java語言以及Java類庫的相關特性。

【推薦理由】本書是經典的《Java核心技術,卷II:高級特性》的最新修訂版,涵蓋了Java SE6平台的高級用戶界面程序設計和企業特性。與第1卷(涵蓋了核心的語言和類庫特性)一樣,本卷已經更新到了JavaSE6。並且對新內容都作了重點標注。書中所有的示常式序都進行了詳細的設計,用來演示最新的編程技術。並展示針對專業開發者在現實中所碰到的典型問題的最佳解決方案。本書包含有關StAXAPI、JDBC 4、編譯器API、腳本框架、閃屏和托盤API以及其他許多JavaSE6改進特性的新章節。本書聚焦於Java語言中更高級的特性,包括下列內容:流與文件、網路、資料庫編程、XML、JNDI與LDAP、國際化、高級GUI組件、Java2D、JavaBeans、安全、RMI與Web服務、高級AWT、註解、本地方法。

供參考。

B. ssh框架代碼及資料庫

SSH框架代碼及資料庫相關配置簡述

一、SSH框架簡介

SSH框架是一種經典的Java Web開發架構,由Struts2、Spring3和Hibernate3三個開源框架集成而成。Struts2負責Web層的請求處理和視圖跳轉;Spring3作為容器管理Java對象,並提供依賴注入等AOP特性;Hibernate3則負責數據持久化,與資料庫進行交互。

二、Struts2配置

在SSH框架中,Struts2的配置文件struts.xml用於定義Action、Result等Web層組件。您提供的struts.xml配置已經涵蓋了基本設置,包括:

  • 常量配置:如編碼集、瀏覽器緩存、配置文件自動載入、開發模式等。
  • 包配置:定義了myDefault和user兩個包,其中user包繼承自myDefault包。
  • Action配置:在user包中,使用通配符*UserAction定義了多個Action,這些Action的類名在Spring中定義,方法名由請求參數決定。
  • Result配置:定義了成功和輸入錯誤的跳轉頁面。

三、Spring3配置

雖然您沒有提供Spring的配置文件,但通常Spring的配置文件會用於定義Java對象的Bean,以及這些Bean之間的依賴關系。在SSH框架中,Spring還負責將Action對象實例化,這通過struts.objectFactory常量配置為spring實現。

四、Hibernate3配置

Hibernate的配置通常包括資料庫連接信息、實體類映射、事務管理等。這些信息通常配置在hibernate.cfg.xml或Spring的配置文件中。在SSH框架中,Hibernate負責將Java對象持久化到資料庫中,以及從資料庫中檢索Java對象。

  • 資料庫連接信息:包括資料庫URL、用戶名、密碼等。
  • 實體類映射:定義Java類與資料庫表之間的映射關系。
  • 事務管理:配置事務管理器,以及哪些操作需要在事務中執行。

五、資料庫

在SSH框架中,資料庫是數據持久化的存儲介質。開發者需要根據業務需求設計資料庫表結構,並創建相應的SQL腳本來初始化資料庫。此外,還需要配置資料庫連接池以提高資料庫訪問性能。

六、總結

SSH框架是一個功能強大的Java Web開發架構,它通過集成Struts2、Spring3和Hibernate3三個開源框架,實現了Web層的請求處理、業務邏輯的處理和數據持久化等功能。在實際開發中,開發者需要根據業務需求配置相應的框架和資料庫,以實現完整的Web應用。由於篇幅限制,本文僅對SSH框架的配置進行了簡要介紹,並未涵蓋所有細節。如需更深入了解,請查閱相關框架的官方文檔或教程。

C. 使用Java實現Comet風格的Web應用(一)

開始

在本文中 我將展示如何使用各種不同的 Java 技術構建一些簡單的 Comet 風格的 Web 應用程序 讀者對 Java Servlet Ajax 和 JavaScript 應該有一定的了解 我們將考察 Tomcat 和 Jetty 中一些支持 Comet 的特性 因此需要使用這兩個產品的最新版本 本文使用 Tomcat 和 Jetty 另外還需要一個支持 Java 或更高版本的 JDK 本文使用 JDK 此外還需要看看 Jetty 的預發布版 因為它實現了 Servlet 規范 我們將在本文中研究該規范

理解 Comet

您可能已經聽說過 Comet 因為它最近受到了一定的關注 Comet 有時也稱反向 Ajax 或伺服器端推技術(server side push) 其思想很簡單 將數據直接從伺服器推到瀏覽器 而不必等到瀏覽器請求數據 聽起來簡單 但是如果熟悉 Web 應用程序 尤其是 HTTP 協議 那麼您就會知道 這絕不簡單 實現 Comet 風格的 Web 應用程序 同時保證在瀏覽器和伺服器上的可伸縮性 這只是在最近幾年才成為可能 在本文的後面 我們將看看一些流行的 Java Web 伺服器如何支持可伸縮的 Comet 架構 但首先我們來看看為什麼要創建 Comet 應用程序 以及用於實現它們的常見設計模式

使用 Comet 的動機

HTTP 協議的成功毋庸置疑 它是 Internet 上大部分信息交換的基礎 然而 它也有一些局限性 特別是 它是無狀態 單向的協議 請求被發送到 Web 伺服器 伺服器處理請求並發回一個響應 — 僅此而已 請求必須由客戶機發出 而伺服器則只能在對請求的響應中發送數據 這至少會影響很多類型的 Web 應用程序的實用性 典型的例子就是聊天程序 另外還有一些例子 例如比賽的比分 股票行情或電子郵件程序

HTTP 的這些局限性也是它取得一定成功的原因 請求/響應周期使它成為了經典的模型 即每個連接使用一個線程 只要能夠快速為請求提供服務 這種方法就有巨大的可伸縮性 每秒鍾可以處理大量的請求 只需使用少量的伺服器就可以處理很大數量的用戶 對於很多經典的 Web 應用程序 例如內容管理系統 搜索應用程序和電子商務站點等等而言 這非常適合 在以上任何一種 Web 應用程序中 伺服器提供用戶請求的數據 然後關閉連接 並釋放那個線程 使之可以為其他請求服務 如果提供初始數據之後仍可能存在交互 那麼將連接保持為打開狀態 因此線程就不能釋放出來 伺服器也就不能為很多用戶服務

但是 如果想在對請求做出響應並發送初始數據之後 仍然保持與用戶的交互呢?在 Web 早期 這一點常使用 meta 刷新實現 這將自動指示瀏覽器在指定秒數之後重新裝載頁面 從而支持簡陋的輪詢(polling) 這不僅是一種糟糕的用戶體驗 而且通常效率非常低下 如果沒有新的數據要顯示在頁面上呢?這時不得不重新呈現同樣的頁面 如果對頁面的更改很少 並且頁面的大部分沒有變化呢?同樣 不管是否有必要 都得重新請求和獲取頁面上的一切內容

Ajax 的發明和流行改變了上述狀況 現在 伺服器可以非同步通信 因此不必重新請求整個頁面 現在可以進行增量式的更新 只需使用 XMLHttpRequest 輪詢伺服器 這項技術通常被稱作 Comet 這項技術存在一些變體 每種變體具有不同的性能和可伸縮性 我們來看看這些不同風格的 Comet

Comet 風格

Ajax 的出現使 Comet 成為可能 HTTP 的單向性質可以有效地加以規避 實際上有一些不同的方法可以繞過這一點 您可能已經猜到 支持 Comet 的最容易的方式是輪詢(poll) 使用 XMLHttpRequest 向伺服器發出調用 返回後 等待一段固定的時間(通常使用 JavaScript 的 setTimeout 函數) 然後再次調用 這是一項非常常見的技術 例如 大多數 webmail 應用程序就是通過這種技術在電子郵件到達時顯示電子郵件的

這項技術有優點也有缺點 在這種情況下 您期望快速返回響應 就像任何其他 Ajax 請求一樣 在請求之間必須有一段暫停 否則 連續不斷的請求會沖垮伺服器 並且這種情況下顯然不具有可伸縮性 這段暫停使應用程序產生一個延時 暫停的時間越長 伺服器上的新數據就需要越多的時間才能到達客戶機 如果縮短暫停時間 又將重新面臨沖垮伺服器的風險 但是另一方面 這顯然是最簡單的實現 Comet 的方式

現在應該指出 很多人認為輪詢並不屬於 Comet 相反 他們認為 Comet 是對輪詢的局限性的一個解決方案 最常見的 真正的 Comet 技術是輪詢的一種變體 即長輪詢(long polling) 輪詢與長輪詢之間的主要區別在於伺服器花多長的時間作出響應 長輪詢通常將連接保持一段較長的時間 — 通常是數秒鍾 但是也可能是一分鍾甚至更長 當伺服器上發生某個事件時 響應被發送並隨即關閉 輪詢立即重新開始

長輪詢相對於一般輪詢的優點在於 數據一旦可用 便立即從伺服器發送到客戶機 請求可能等待較長的時間 期間沒有任何數據返回 但是一旦有了新的數據 它將立即被發送到客戶機 因此沒有延時 如果您使用過基於 Web 的聊天程序 或者聲稱 實時 的任何程序 那麼它很可能就是使用了這種技術

長輪詢有一種變體 這是第三種風格的 Comet 這通常被稱為流(streaming) 按照這種風格 伺服器將數據推回客戶機 但是不關閉連接 連接將一直保持開啟 直到過期 並導致重新發出請求 XMLHttpRequest 規范表明 可以檢查 readyState 的值是否為 或 Receiving(而不是 或 Loaded) 並獲取正從伺服器 流出 的數據 和長輪詢一樣 這種方式也沒有延時 當伺服器上的數據就緒時 該數據被發送到客戶機 這種方式的另一個優點是可以大大減少發送到伺服器的請求 從而避免了與設置伺服器連接相關的開銷和延時 不幸的是 XMLHttpRequest 在不同的瀏覽器中有很多不同的實現 這項技術只能在較新版本的 Mozilla Firefox 中可靠地使用 對於 Internet Explorer 或 Safari 仍需使用長輪詢

至此 您可能會想 長輪詢和流都有一個很大的問題 請求需要在伺服器上存在一段較長的時間 這打破了每個請求使用一個線程的模型 因為用於一個請求的線程一直沒有被釋放 更糟糕的是 除非要發回數據 否則該線程一直處於空閑狀態 這顯然不具有可伸縮性 幸運的是 現代 Java Web 伺服器有很多方式可以解決這個問題

Java 中的 Comet

現在有很多 Web 伺服器是用 Java 構建的 一個原因是 Java 有一個豐富的本地線程模型 因此實現典型的每個連接一個線程的模型便非常簡單 該模型對於 Comet 不大適用 但是 Java 對此同樣有解決的辦法 為了有效地處理 Comet 需要非阻塞 IO Java 通過它的 NIO 庫提供非阻塞 IO 兩種最流行的開源伺服器 Apache Tomcat 和 Jetty 都利用 NIO 增加非阻塞 IO 從而支持 Comet 然而 這兩種伺服器中的實現卻各不相同 我們來看看 Tomcat 和 Jetty 對 Comet 的支持

Tomcat 和 Comet

對於 Apache Tomcat 要使用 Comet 主要需要做兩件事 首先 需要對 Tomcat 的配置文件 server XML 稍作修改 默認情況下啟用的是更典型的同步 IO 連接器 現在只需將它切換成非同步版本 如清單 所示

清單 修改 Tomcat 的 server xml <! ThisistheusualConnector mentitoutandaddtheNIOone ><! ConnectorURIEncoding= utf connectionTimeout= port= protocol= HTTP/ redirectPort= / ><ConnectorconnectionTimeout= port= protocol= apache coyote redirectPort= />

Servlet 這顯然是 Tomcat 特有的一個介面 清單 顯示了一個這樣的例子

lishixin/Article/program/Java/hx/201311/26770

D. 有沒有適合java初學者的小項目,綜合性比較強的,web後端,推薦幾個,面試用

1、注冊登錄系統,幾乎每個網站都會有這個模塊,是初學者不可繞過項目,的一定要瞭然於心,無論是servlet+jdbc實現,還是struts2+hibernate實現都要滾瓜爛熟
2、網上商城,裡麵包含兩個經典的模塊,購物車和在線支付,這個項目是初學者第一個項目的不二之選
3、在線相冊系統,涉及到文件的上傳下載,這考驗你對JavaIO的熟悉程度,也是很不錯的選擇
4、其外,你還可以做一下圖書管理系統,就是模仿圖書館的管理系統,也很考驗人
最後:只要你遵循MVC的設計理念,搞懂各層之間的傳值方法,面試就不會慌

熱點內容
電腦直播唱歌電腦需要什麼配置 發布:2025-07-13 19:03:45 瀏覽:88
config連接資料庫 發布:2025-07-13 19:02:24 瀏覽:951
bt文件解壓 發布:2025-07-13 19:02:16 瀏覽:744
比較便宜的雲伺服器 發布:2025-07-13 18:29:59 瀏覽:406
切換ftp 發布:2025-07-13 18:29:07 瀏覽:738
銳龍哪個配置最高畫質 發布:2025-07-13 18:22:34 瀏覽:196
壓縮機工作原理圖 發布:2025-07-13 18:10:15 瀏覽:39
黑暗追求者安卓怎麼聯機 發布:2025-07-13 18:10:07 瀏覽:617
北大保安自學編程 發布:2025-07-13 18:09:58 瀏覽:858
java遞歸排列 發布:2025-07-13 18:02:43 瀏覽:473