Java做網站需要掌握哪些技術
Java是目前主流的Web應用開發語言,想要用Java做一個網站,代碼不單單是要用到Java語言還有很多相關的語言和技術,下面會從能看到的地方開始列舉,需要用到的技術。
1、HTML + CSS
2、JavaScript / JQuery
3、Tomcat + JSP/Servlet + Java
4、數據庫
5、緩存
6、Linux服務器
7、負載均衡、反向代理
1、HTML + CSS
HTML (HyperText Markup Language):超文本標記語言
CSS(Cascading Style Sheets) :層疊樣式表
這兩個是做一個網站必須要會的東西, 這兩種語言是用來寫出來頁面的, 所有的能看到的頁面,都是用HTML + CSS 做出來的。如果把一個頁面比喻成一個漂亮的姑娘, 那么HTML就是這個姑娘的身體,CSS就是這個姑娘身上的衣服和化妝品,兩者結合起來,就是一個漂亮的姑娘(頁面)。(注:雖然也有很多素顏的姑娘!~)
現階段有很多現成的模板(Bootstrap),寫好了一套完整的樣式,那么只需要根據按照文檔上寫的,按照模塊化的把代碼拼裝起來,就是一個簡潔大方的頁面。
2、JavaScript / JQuery
JavaScript是一種應用在HTML頁面上的腳本語言, 主要為了使網頁增加動態功能的語言,那么之前把HTML比喻成一個漂亮的姑娘, 那么JavaScript就是這個姑娘會跳的舞蹈。JavaScript使HTML頁面的功能在除了展示之外,多了許多功能, 一些簡單的功能,可以利用JavaScript直接在網頁上來處理,不必去請求服務器,在服務器上進行計算。
JQuery是JavaScript的一個封裝,是由JavaScript寫出來的一種語言,實現了JavaScript的所有功能,並對其進行了一些優化,使其更加方便。
3、Tomcat + JSP/Servlet + Java
Tomcat :開源的、輕量級的Web 應用服務器
JSP(Java Server Pages) : Java服務器頁面
Servlet : Java服務端程序
Tomcat是一個網站服務端的服務器,這里所說的服務器,不是指的電腦那樣的服務器,這里所指的是Java Web程序的容器,應用程序通過Tomcat來啟動,管理,所有的Http請求,通過Tomcat交給Java Web程序來進行處理,並將處理結果返回給瀏覽器。
JSP/Servlet是Java服務器端的應用程序,也是請求處理的入口,Tomcat中過來的的請求經由Servlet開始,並繼續由Java的程序進行處理,從而完成整個網站的功能。
在Java Web開發中有很多很多的前輩,貢獻了他們的代碼,使其開源,有一些優秀的開源項目我們一直在使用,而這些開源的項目使得我們的開發更加方便、快捷、在Java Web開發中常見的框架有 Strust2 、SpringMVC 、Spring 、Hibernate 、MyBatis 、HttpClient 、JSoup 、Log4j 等等,后續詳細介紹....
4、數據庫
數據庫(Database)是按照數據結構來組織、存儲和管理數據的倉庫。
數據庫是一個網站的核心,所有的操作,記錄,都由數據庫負責記錄,當我們需要的時候需要從數據庫中取出相應的數據並予以展示。簡單的來說,數據庫就是一個賬本,所有的信息都會記錄在賬本上,那么當我們需要適用數據時,只需要從賬本上找到數據就可以了。
概括的來說,程序就是對數據的存儲,和對數據的展示。
常見的數據庫 MySql ,Oracle,SQLServer等等。
5、緩存(簡述)
百度百科:http://baike.baidu.com/view/907.htm
緩存的概念很專業也很概括, 這里所說的緩存指的是存儲在RAM中作為臨時存儲的數據。
緩存作為一個很常用的技術在Web中應用的非常廣泛,因為是在內存中存儲數據, 讀取速度比從數據庫中讀取速度快很多,所以緩存技術在很多時候應用在網站加速和性能提升方面。
舉個栗子,如果把數據庫比作是賬本,那么緩存可能就是一個人的大腦,緩存的特性就是隨着應用的結束,而數據消失,就像人一樣,要是從一個賬本或者一本書中去拿一個數據,可能還得去查找,去翻,那么記在了腦袋中,用什么直接想一下就知道了,當這個人掛了(應用結束),那么你的這個數據,也就跟着這個人消失了~~~~所以很多的知識都是記錄在賬本(書籍)中,永久的留存下來~~~
常見的緩存技術 Memcached 、Redis(也作為NoSql數據庫使用)
6、服務器(簡述)
百度百科:http://baike.baidu.com/view/899.htm
服務器簡單的來說,就是一台性能遠超普通PC的電腦,應用程序運行在服務器上, 服務器一般使用linux系統(少部分使用window server),所以在運行程序的時候, 至少要會一些簡單的linux命令。
7、負載均衡、反向代理(簡述)
負載均衡百度百科解釋:http://baike.baidu.com/view/51184.htm
反向代理百度百科解釋:http://baike.baidu.com/view/1165595.htm
舉個最簡單的例子解釋這兩個技術。
負載均衡:有一堆零件需要加工,有10個員工同時進行加工, 那么負載均衡就是根據每個員工的工作情況給他分配新的零件進行加工,有的員工可能會感冒,或者能力上有問題, 那么給這個人的零件就少一些, 正常員工就給的多一些。
反向代理:還是上面的例子,加工一個零件可能會分步驟,A部門負責組裝,B部門負責安裝螺絲,那么反向代理就是根據當前這個零件的狀態去選擇,是應該去組裝?還是去安裝螺絲。
這些技術是用Java做一個網站最基本要懂的東西,其余的還有更多更多的知識,所以有的人說,做一個Java程序猿算是一個最全能的程序猿了,基本上啥都得會,而這些東西僅僅是基礎,想要自己變得更加強大,還得繼續的,不斷的去學習,學到老、活到老~~~
轉自:https://www.jianshu.com/p/3a50f14db9eb
