日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > java >内容正文

java

JavaWeb学习心得总结

發布時間:2024/3/12 java 45 豆豆
生活随笔 收集整理的這篇文章主要介紹了 JavaWeb学习心得总结 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

JavaWeb(JSP+Servlet)新手學習心得總結

說明:

由于篇幅的原因,本文只是對于JavaWeb項目的大致數據流程做一個介紹,同時引出一些JavaWeb開發中很基礎的知識點,且不會精確到具體代碼實現。

所以本文的適合讀者為剛剛接觸JavaWeb開發的人,或者是想了解一下網頁服務的大致流程的新手。

當然如果你關心具體實現,可以跟學https://www.bilibili.com/video/BV1BJ411L7NR,該教程從針對JavaWeb入門者的角度進行教學,非常適合新手

同時如果你關心整體項目構建。可以查看https://gitee.com/YangTang-Gitee/library ,學習搭建一個簡單的JavaWeb項目。

推薦結合目錄食用。

預備知識:

1:Java 基礎知識

2:HTML、CSS、JavaScript等前端基礎知識

主要開發工具:

IntelliJ IDEA:非常流行的Java開發IDE,因為其足夠智能且可擴展性很強,目前市場占用率已經位居Java開發IDE榜首,且學生黨可以免費使用完整版,非常適合我等窮孩子。建議新手可以跟https://www.bilibili.com/video/BV1PW411X75p系統學習一下IDEA的使用。

一:JavaWeb服務容器

JavaWeb服務需要特定的容器來管理動態和靜態資源。

?

作為初學者,且只針對簡單的JavaWeb項目,Tomcat是一個不錯的Web 應用服務器。Tomcat最核心的功能是對于JSP與Servlet的管理。

二:Servlet技術

Servlet本質為Java接口或類,開發者通過實現或繼承Servlet接口或類形成自己的一個Servet子類,并在方法中寫上自己的業務,寫上給客戶端的返回等(比如MyFirstServlet):

同時配置該類的在當前Web服務中的訪問地址。

這樣瀏覽器就可以根據 Tomcat地址+當前Servlet的地址訪問到當前Servlet,并執行相關業務。

三:JSP

從語言的角度來講,可以將JSP理解為包含 Java語言+前端3大語言的一個文件。

從實現的本質上來講,JSP是需要傳輸給客戶端很多前端語句的 Servlet。

JSP中含有大量的前端標記語言等,這些將用來給用戶一個完整的界面 。 同時還有少量的Java語言,主要是為了能夠結合實際業務,為頁面提供真實的數據

在Tomcat中,JSP被訪問時會自動被裝載成一個Servlet。其中的Java語言部分很自然就成了Servlet中的一部分,運行、得到數據等,而其中的前端語言部分會在結合Java部分運行結果后被Servlet寫給客戶端形成界面。所以JSP本質為返回給客戶端一整個完整界面的Servlet。

所以,既生Servlet,何生JSP

因為JSP的文件格式符合前端編程的習慣,你只需要在傳統的前端頁面加入少量Java語言就行,如下圖所示 。

當被裝載成Servlet時是這個樣子的:

所以如果開發者要直接在Servlet中去輸出一整合網頁顯然是不人性的,同樣如果在JSP中去摻雜大量的業務代碼也是不利于開發的。

于是在此基礎上就形成了Servlet主內,JSP主外的格局。即Servlet主要負責接收請求、處理業務等,然后將數據等傳遞給某個JSP,JSP負責描述界面、展示數據等。大致可以形成以下流程圖:

EL表達式與JSTL標簽:

從本質上來講這兩者是一樣的,都是JSP中為了簡化Java語言部分的編寫而生的,但是兩者的側重點不一樣。

EL的主要功能是簡化JSP開發中對對象的引用,更側重于數據交互

JSTL的主要功能對Java中常用語句的封裝,比如你可以用類似HTML那樣標簽來做一個for循環,而不用像Java代碼中那樣手寫循環。

總而言之,沒有這兩個東西你也可以寫,但是有這兩個開發會簡單很多,代碼也會簡潔不少,值得一學。

四:MVC模式

MVC模式并不是新的技術,而是新的思想

M代表Model,指一個確實的實體類,比如一本書,一個用戶等

V代表View,指返回給用戶看的視圖(JSP)

C代表Controller,指處理具體業務的代碼(Servlet)

Controller負責接收請求、處理業務,然后將處理的數據打包成Model,再將Model整個傳給JSP,JSP則將Model中的數據讀取并顯示。

這樣做可以降低數據與程序的耦合性,無論從開發還是維護,都會減少很多工作量。同時也可以使代碼邏輯更清晰,可讀性更強等。

五:數據庫連接

數據庫連接池

JDBC的基礎知識這里就不在復述,這里我們主要需要了解一個數據庫連接池的概念。

在基礎的獲取數據庫連接對象時,我們每次獲取都需要向數據庫申請獲取連接,驗證?戶名和密碼等,執?完 SQL 語句后斷開連接,這樣的?式會造成資源的浪費,數據連接資源沒有得到很好的重復利?。

而數據庫連接池的概念是,我先申請一批連接對象放到連接池中,當程序需要調用時則提供給它一個連接,而不用重新申請。用完后程序再把該連接還給連接池,而不是直接斷開連接,可供其他請求使用。

DBUtils

DBUtils 可以幫助開發者完成數據的封裝結果集到 Java 對象的映射)。

因為在基礎的JDBC查詢中,返回結果通常為ResultSet。一方面根據上述MVC中M模式,我們需要自己手動去將數據封裝成對象,另一方面我們將不可避免的手寫循環去遍歷結果集,使得開發很低效。

六:過濾器

顧名思義,過濾器主要是對請求進行過濾的,保證特定的資源只能被特定的人、特定的情況訪問。一方面可以維護安全,另一方面也可以提供不同服務。

七:JavaWeb數據流程

根據以上概念我們就可以總結出一個JavaWeb,或者說大部分Web項目的大致數據流程圖。

上圖的大部分概念都已經介紹過,接下來對MVC之C中的幾個新概念再說明一下。

因為后臺的代碼是很復雜的,你每發送一個請求給一個Servlet,就要求他在當前Java文件即接受和返回信息,又處理具體業務,又要和數據庫通信。實現上是完全可以的,但是這會使得代碼耦合性很高,非常不適合大型項目開發,也不利于調試。

故我們可以用controller來接收請求,然后在controller中注入一個service的對象,使用service對象的方法來實現具體業務。 同樣,如果當前業務時需要使用到數據庫的,可以在service中注入一個repository對象,然后再調用他的方法來實現數據庫操作。

最終的后端的Java文件代碼包大致如下,至于前端的包會有一個專門的文件夾用來放JSP等前端資源。

八:JavaWeb常用功能

上述的東西就大致包含了JavaWeb基本流程,下文的東西都是些現實應用中經常會用到的功能模塊罷了。

1:Ajax技術:

Ajax = Asynchronous JavaScript and XML(異步的 JavaScript 和 XML)。其實核心思想很簡單,在不用刷新整個網頁的情況下刷新局部網頁數據。

比如你在B站看一個投票計數,投票數是時時刻刻都在變化的,而你不用刷新整個頁面就能看到最新的投票數據。這就是自動局部刷新,我只向后端要局部的數據,既可以避免整個頁面的不斷刷新,也可以避免重復請求固定的數據,導致效率降低。

2:文件上傳與下載

這個沒什么新鮮的,但是卻是必需功能。

3:監聽器

主要是對整個Java項目的運行狀況等進行監聽,增強Web應用的事件處理能力。

九:結語

如開頭提到的,本文檔只是個人在JavaWeb學習路上一個心得和理解的總結與分享,所以通篇沒有提到過具體實現,希望能夠給同作為新手的孩子畫一個模樣

當然也希望大佬們看到后能在評論區批評一下孩子不對的地方。

Respect!

總結

以上是生活随笔為你收集整理的JavaWeb学习心得总结的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。