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