溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

初學 Java Web 開發(fā),怎么開始?

發(fā)布時間:2020-08-09 16:22:55 來源:ITPUB博客 閱讀:143 作者:lanqiaoxueyuan 欄目:編程語言

熟知 Servlet 規(guī)范之前,請不要學習任何框架使用最簡單的工具,不要任何向?qū)Ш涂梢暬?/span>熟知 HTTP 協(xié)議




框架很多,但套路基本類似,幫你隱藏很多關(guān)于 HTTP 協(xié)議細節(jié)內(nèi)容,專注功能開發(fā)。


但對一個初學者來說,過早的接觸框架往往是事倍功半!同樣一個問題,換一種框架你可能需要從頭開始研究。


下面是針對初學 Java 開發(fā) Web 過程一些個人見解和思路,高手可略過。


1. 基本要求:Java 編程基礎(chǔ)


有良好的 Java 語言編程基礎(chǔ),這是必須的,在討論 Web 開發(fā)技術(shù)時提了一個 Java 編程基礎(chǔ)的問題會被鄙視的。

2. 環(huán)境準備 (Eclipse + Tomcat)


選擇一個你喜愛的Servlet容器,或者說大一點就是應(yīng)用服務(wù)器,推薦 Tomcat 、Resin 或者 Jetty 這些輕量級的產(chǎn)品。這三個產(chǎn)品下載 zip 包解壓后就可以用了。如果你不熟悉 Tomcat 的話請不要使用 exe 版本的 Tomcat,那會徒增很多煩惱。也不建議在 Eclipse 等一些開發(fā)環(huán)境中集成 Tomcat 的做法,也會徒增煩惱。


把應(yīng)用服務(wù)器啟動起來并能訪問到其默認的頁面為準。


關(guān)于開發(fā)工具


不推薦使用 MyEclipse 和 Eclipse 的 JEE 版本,徒增煩惱、運行緩慢而且還讓你無法了解 Web 項目的結(jié)構(gòu)。普通的 Eclipse 或者你喜歡的開發(fā)工具就足夠了,能支持普通 Java 項目開發(fā)即可。

3. 了解 Servlet 和 Filter


好了,我已經(jīng)把環(huán)境搭起來了,接下來該干嘛呢?


前面的步驟為的是搭建一個測試的環(huán)境,然后讓你了解一個最基本的 Java Web 項目的結(jié)構(gòu)。


一個最基本的 Java Web 項目所需的 jar 包只需要一個 servlet-api.jar ,這個 jar 包中的類大部分都是接口,還有一些工具類,共有 2 個包,分別是 javax.servlet 和 javax.servlet.http。我把這個jar包放到了 webapp 目錄外的一個獨立 packages 文件夾里,這是因為所有的 Servlet 容器都帶有這個包,你無需再放到Web項目里,我們放到這里只不過是編譯的需要,運行是不需要的。如果你硬是把 servlet-api.jar 放到 webapp/WEB-INF/lib 目錄下,那么 Tomcat 啟動時還會報一個警告信息。

 再談?wù)?Session


HTTP 協(xié)議里是沒有關(guān)于 Session 會話的定義,Session 是各種編程語言根據(jù) HTTP 協(xié)議的無狀態(tài)這種特點而產(chǎn)生的。其實現(xiàn)無非就是服務(wù)器端的一個哈希表,哈希表的Key就是傳遞給瀏覽器的名為 jsessionid 的 Cookie 值。


當需要將某個值保存到 session 時,容器會執(zhí)行如下幾步:


a. 獲取 jsessionid 值,沒有的話就生成一個,也就是 request.getSession() 這個方法

b. 拿到的 HttpSession 對象實例就相當于一個哈希表,你可以往哈希表里存放數(shù)據(jù)(setAttribute)

c. 你也可以通過 getAttribute 來獲取某個值


而這個名為 jsessionid 的 Cookie 在瀏覽器關(guān)閉時會自動刪除。把 Cookie 的 MaxAge 值設(shè)為 -1 就能達到瀏覽器關(guān)閉自動刪除的效果。

關(guān)于 JSP


首先我已經(jīng)不用 JSP 很多年了,現(xiàn)在一直是使用 Velocity 模板引擎。


向AI問一下細節(jié)

免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI