知識(shí)
不管是網(wǎng)站,軟件還是小程序,都要直接或間接能為您產(chǎn)生價(jià)值,我們?cè)谧非笃湟曈X表現(xiàn)的同時(shí),更側(cè)重于功能的便捷,營(yíng)銷的便利,運(yùn)營(yíng)的高效,讓網(wǎng)站成為營(yíng)銷工具,讓軟件能切實(shí)提升企業(yè)內(nèi)部管理水平和效率。優(yōu)秀的程序?yàn)楹笃谏?jí)提供便捷的支持!
您當(dāng)前位置>首頁 » 新聞資訊 » 網(wǎng)站建設(shè) >
Java Web技術(shù)總結(jié)
發(fā)表時(shí)間:2018-6-29
發(fā)布人:葵宇科技
瀏覽次數(shù):49
這篇總結(jié)主要是基于我之前兩個(gè)系列的文章而來。主要是把重要的知識(shí)點(diǎn)用自己的話說了一遍,可能會(huì)有一些錯(cuò)誤,還望見諒和指點(diǎn)。謝謝
更多詳細(xì)內(nèi)容可以查看我的專欄文章:
#JavaWeb技術(shù)世界
https://blog.csdn.net/column/details/21850.html
#Spring與SpringMVC源碼解析
#https://blog.csdn.net/column/details/21851.html
Servlet及相關(guān)類
servlet是一個(gè)接口,它的實(shí)現(xiàn)類有GenericServlet,而httpservlet是GenericServlet的一個(gè)子類,一般我們都會(huì)使用這個(gè)類。
servletconfig是用于保存servlet配置信息的數(shù)據(jù)結(jié)構(gòu),而servletcontext則負(fù)責(zé)保持servlet的上下文,web應(yīng)用啟動(dòng)時(shí)加載web.xml信息于servletconfig中。
Jsp和ViewResolver
jsp頁面需要編譯成class文件并通過tomcat的類加載器進(jìn)行加載,形成servlet實(shí)例,請(qǐng)求到來時(shí)實(shí)際上執(zhí)行的是servlet代碼,然后最終再通過viewresolver渲染成頁面。
filter,listener
filter是過濾器,也需要在web.xml中配置,是責(zé)任鏈?zhǔn)降恼{(diào)用,在servlet執(zhí)行service方法前執(zhí)行。
listener則是監(jiān)聽器,由于容器組件都實(shí)現(xiàn)了lifecycle接口,所以可以在組件上添加監(jiān)聽器來控制生命周期。
web.xml
web.xml用來配置servlet和servlet的配置信息,listener和filter。也可以配置靜態(tài)文件的目錄等。
war包
waWAR包
WAR(Web Archive file)網(wǎng)絡(luò)應(yīng)用程序文件,是與平臺(tái)無關(guān)的文件格式,它允許將許多文件組合成一個(gè)壓縮文件。war專用在web方面 。
JAVA WEB工程,都是打成WAR包進(jìn)行發(fā)布。
典型的war包內(nèi)部結(jié)構(gòu)如下:
webapp.war
| index.jsp
|
|— images
|— META-INF
|— WEB-INF
| web.xml // WAR包的描述文件
|
|— classes
| action.class // java類文件
|
|— lib
other.jar // 依賴的jar包
share.jar
tomcat基礎(chǔ)
上一篇文章關(guān)于網(wǎng)絡(luò)編程和NIO已經(jīng)講過了,這里按住不表。
log4j
log4j是非常常用的日志組件,不過現(xiàn)在為了使用更通用的日志組件,一般使用slf4j來配置日志管理器,然后再介入日志源,比如log4j這樣的日志組件。
數(shù)據(jù)庫驅(qū)動(dòng)和連接池
一般我們會(huì)使用class.forname加載數(shù)據(jù)庫驅(qū)動(dòng),但是隨著Spring的發(fā)展,現(xiàn)在一般會(huì)進(jìn)行數(shù)據(jù)源DataSource這個(gè)bean的配置,bean里面填寫你的數(shù)據(jù)來源信息即可,并且在實(shí)現(xiàn)類中可以選擇支持連接池的數(shù)據(jù)源實(shí)現(xiàn)類,比如c3poDataSource,非常方便。
數(shù)據(jù)庫連接池本身和線程池類似,就是為了避免頻繁建立數(shù)據(jù)庫連接,保存了一部分連接并存放在集合里,一般可以用隊(duì)列來存放。
除此之外,還可以使用tomcat的配置文件來管理數(shù)據(jù)庫連接池,只需要簡(jiǎn)單的一些配置,就可以讓tomcat自動(dòng)管理數(shù)據(jù)庫的連接池了。
應(yīng)用需要使用的時(shí)候,通過jndi的方式訪問即可,具體方法就是調(diào)用jndi命名服務(wù)的look方法。
單元測(cè)試
單元測(cè)試是工程中必不可少的組件,maven項(xiàng)目在打包期間會(huì)自動(dòng)運(yùn)行所有單元測(cè)試。一般我們使用junit做單元測(cè)試,統(tǒng)一地在test包中分別測(cè)試service和dao層,并且使用mock方法來構(gòu)造假的數(shù)據(jù),以便跳過數(shù)據(jù)庫或者其他外部資源來完成測(cè)試。
Maven
maven是一個(gè)項(xiàng)目構(gòu)建工具,基于約定大于配置的方式,規(guī)定了一個(gè)工程各個(gè)目錄的用途,并且根據(jù)這些規(guī)則進(jìn)行編譯,測(cè)試和打包。
同時(shí)他提供了方便的包管理方式,以及快速部署的優(yōu)勢(shì)。
Git
git是分布式的代碼管理工具,比起svn有著分布式的優(yōu)勢(shì)。太過常見了,略了。
Json和xml
數(shù)據(jù)描述形式不同,json更簡(jiǎn)潔。
hibernate和mybatis
由于jdbc方式的數(shù)據(jù)庫連接和語句執(zhí)行太過繁瑣,重復(fù)代碼太多,后來提出了jdbctemplate對(duì)數(shù)據(jù)進(jìn)行bean轉(zhuǎn)換。
但是還是差強(qiáng)人意,于是轉(zhuǎn)而出現(xiàn)了hibernate這類的持久化框架。可以做到數(shù)據(jù)表和bean一一映射,程序只需要操作bean就可以完成數(shù)據(jù)庫的curd。
mybatis比hibernate更輕量級(jí),mybatis支持原生sql查詢,并且也可以使用bean映射,同時(shí)還可以自定義地配置映射對(duì)象,更加靈活,并且在多表查詢上更有優(yōu)勢(shì)。
個(gè)人公眾號(hào):程序員黃小斜
微信公眾號(hào)【程序員黃小斜】新生代青年聚集地,程序員成長(zhǎng)充電站。作者黃小斜,職業(yè)是阿里程序員,身份是斜杠青年,希望和更多的程序員交朋友,一起進(jìn)步和成長(zhǎng)!專注于分享技術(shù)、面試、職場(chǎng)等成長(zhǎng)干貨,這一次,我們一起出發(fā)。
關(guān)注公眾號(hào)后回復(fù)“2019”領(lǐng)取我這兩年整理的學(xué)習(xí)資料,涵蓋自學(xué)編程、求職面試、算法刷題、Java技術(shù)學(xué)習(xí)、計(jì)算機(jī)基礎(chǔ)和考研等8000G資料合集。
技術(shù)公眾號(hào):Java技術(shù)江湖
微信公眾號(hào)【Java技術(shù)江湖】一位阿里 Java 工程師的技術(shù)小站,專注于 Java 相關(guān)技術(shù):SSM、SpringBoot、MySQL、分布式、中間件、集群、Linux、網(wǎng)絡(luò)、多線程,偶爾講點(diǎn)Docker、ELK,同時(shí)也分享技術(shù)干貨和學(xué)習(xí)經(jīng)驗(yàn),致力于Java全棧開發(fā)!
關(guān)注公眾號(hào)后回復(fù)“PDF”即可領(lǐng)取200+頁的《Java工程師面試指南》強(qiáng)烈推薦,幾乎涵蓋所有Java工程師必知必會(huì)的知識(shí)點(diǎn)。
相關(guān)案例查看更多
相關(guān)閱讀
- 云南建設(shè)廳官方網(wǎng)站
- 云南網(wǎng)站建設(shè)公司哪家好
- 開發(fā)制作小程序
- 百度快速排名
- 網(wǎng)站建設(shè)哪家強(qiáng)
- vue開發(fā)小程序
- 保山小程序開發(fā)
- 云南網(wǎng)站開發(fā)
- 微分銷
- 網(wǎng)站建設(shè)服務(wù)公司
- 云南小程序設(shè)計(jì)
- 網(wǎng)站建設(shè)特性
- 云南省建設(shè)廳官方網(wǎng)站
- 小程序開發(fā)
- 網(wǎng)絡(luò)公司報(bào)價(jià)
- 大理小程序開發(fā)
- 網(wǎng)站建設(shè)靠譜公司
- 云南網(wǎng)站制作
- 網(wǎng)站建設(shè)公司哪家好
- 網(wǎng)站小程序
- 云南網(wǎng)站建設(shè)靠譜公司
- 曲靖小程序開發(fā)
- 云南小程序開發(fā)推薦
- 云南網(wǎng)站建設(shè)高手
- 云南網(wǎng)站建設(shè)首頁
- 云南網(wǎng)站建設(shè)公司
- 網(wǎng)站建設(shè)電話
- 云南網(wǎng)站建設(shè)哪家公司好
- 云南小程序開發(fā)公司推薦
- 網(wǎng)站上首頁