Java是目前主流的Web應用開發(fā)語言微姊,想要用Java做一個網(wǎng)站航攒,代碼不單單是要用到Java語言還有很多相關(guān)的語言和技術(shù),下面會從能看到的地方開始列舉让簿,需要用到的技術(shù)敬察。
? ? 1、HTML + CSS
? ? 2尔当、JavaScript / JQuery
? ? 3莲祸、Tomcat + JSP/Servlet + Java
? ? 4、數(shù)據(jù)庫
? ? 5椭迎、緩存
? ? 6虫给、Linux服務器
? ? 7、負載均衡侠碧、反向代理
1抹估、HTML + CSS?
HTML (HyperText Markup Language):超文本標記語言
CSS(Cascading Style Sheets) :層疊樣式表
這兩個是做一個網(wǎng)站必須要會的東西, 這兩種語言是用來寫出來頁面的弄兜, 所有的能看到的頁面药蜻,都是用HTML + CSS 做出來的。如果把一個頁面比喻成一個漂亮的姑娘替饿, 那么HTML就是這個姑娘的身體语泽,CSS就是這個姑娘身上的衣服和化妝品,兩者結(jié)合起來视卢,就是一個漂亮的姑娘(頁面)踱卵。(注:雖然也有很多素顏的姑娘!~)
現(xiàn)階段有很多現(xiàn)成的模板(Bootstrap)据过,寫好了一套完整的樣式惋砂,那么只需要根據(jù)按照文檔上寫的,按照模塊化的把代碼拼裝起來绳锅,就是一個簡潔大方的頁面西饵。
2、JavaScript / JQuery
JavaScript是一種應用在HTML頁面上的腳本語言鳞芙, 主要為了使網(wǎng)頁增加動態(tài)功能的語言眷柔,那么之前把HTML比喻成一個漂亮的姑娘, 那么JavaScript就是這個姑娘會跳的舞蹈原朝。JavaScript使HTML頁面的功能在除了展示之外驯嘱,多了許多功能, 一些簡單的功能喳坠,可以利用JavaScript直接在網(wǎng)頁上來處理鞠评,不必去請求服務器,在服務器上進行計算丙笋。
JQuery是JavaScript的一個封裝谢澈,是由JavaScript寫出來的一種語言,實現(xiàn)了JavaScript的所有功能御板,并對其進行了一些優(yōu)化锥忿,使其更加方便。
3怠肋、Tomcat + JSP/Servlet + Java
Tomcat :開源的敬鬓、輕量級的Web 應用服務器
JSP(Java Server Pages) : Java服務器頁面
Servlet : Java服務端程序
Tomcat是一個網(wǎng)站服務端的服務器,這里所說的服務器笙各,不是指的電腦那樣的服務器钉答,這里所指的是Java Web程序的容器,應用程序通過Tomcat來啟動杈抢,管理数尿,所有的Http請求,通過Tomcat交給Java Web程序來進行處理惶楼,并將處理結(jié)果返回給瀏覽器右蹦。
JSP/Servlet是Java服務器端的應用程序,也是請求處理的入口歼捐,Tomcat中過來的的請求經(jīng)由Servlet開始何陆,并繼續(xù)由Java的程序進行處理,從而完成整個網(wǎng)站的功能豹储。
在Java Web開發(fā)中有很多很多的前輩贷盲,貢獻了他們的代碼,使其開源剥扣,有一些優(yōu)秀的開源項目我們一直在使用巩剖,而這些開源的項目使得我們的開發(fā)更加方便、快捷钠怯、在Java Web開發(fā)中常見的框架有 Strust2 球及、SpringMVC 、Spring 呻疹、Hibernate 吃引、MyBatis 、HttpClient 刽锤、JSoup 镊尺、Log4j 等等,后續(xù)詳細介紹....
4并思、數(shù)據(jù)庫
數(shù)據(jù)庫(Database)是按照數(shù)據(jù)結(jié)構(gòu)來組織庐氮、存儲和管理數(shù)據(jù)的倉庫。
數(shù)據(jù)庫是一個網(wǎng)站的核心宋彼,所有的操作弄砍,記錄仙畦,都由數(shù)據(jù)庫負責記錄,當我們需要的時候需要從數(shù)據(jù)庫中取出相應的數(shù)據(jù)并予以展示音婶。簡單的來說慨畸,數(shù)據(jù)庫就是一個賬本,所有的信息都會記錄在賬本上衣式,那么當我們需要適用數(shù)據(jù)時寸士,只需要從賬本上找到數(shù)據(jù)就可以了。
概括的來說碴卧,程序就是對數(shù)據(jù)的存儲弱卡,和對數(shù)據(jù)的展示。
常見的數(shù)據(jù)庫 MySql ,Oracle,SQLServer等等住册。
5婶博、緩存(簡述)
百度百科:http://baike.baidu.com/view/907.htm
緩存的概念很專業(yè)也很概括, 這里所說的緩存指的是存儲在RAM中作為臨時存儲的數(shù)據(jù)荧飞。
緩存作為一個很常用的技術(shù)在Web中應用的非常廣泛凡蜻,因為是在內(nèi)存中存儲數(shù)據(jù), 讀取速度比從數(shù)據(jù)庫中讀取速度快很多垢箕,所以緩存技術(shù)在很多時候應用在網(wǎng)站加速和性能提升方面划栓。
舉個栗子,如果把數(shù)據(jù)庫比作是賬本条获,那么緩存可能就是一個人的大腦忠荞,緩存的特性就是隨著應用的結(jié)束,而數(shù)據(jù)消失帅掘,就像人一樣委煤,要是從一個賬本或者一本書中去拿一個數(shù)據(jù),可能還得去查找修档,去翻碧绞,那么記在了腦袋中,用什么直接想一下就知道了吱窝,當這個人掛了(應用結(jié)束)讥邻,那么你的這個數(shù)據(jù),也就跟著這個人消失了~~~~所以很多的知識都是記錄在賬本(書籍)中院峡,永久的留存下來~~~
常見的緩存技術(shù) Memcached 兴使、Redis(也作為NoSql數(shù)據(jù)庫使用)
6、服務器(簡述)
百度百科:http://baike.baidu.com/view/899.htm
服務器簡單的來說照激,就是一臺性能遠超普通PC的電腦发魄,應用程序運行在服務器上, 服務器一般使用linux系統(tǒng)(少部分使用window server),所以在運行程序的時候励幼, 至少要會一些簡單的linux命令汰寓。
7、負載均衡苹粟、反向代理(簡述)
負載均衡百度百科解釋:http://baike.baidu.com/view/51184.htm
反向代理百度百科解釋:http://baike.baidu.com/view/1165595.htm
舉個最簡單的例子解釋這兩個技術(shù)有滑。
負載均衡:有一堆零件需要加工,有10個員工同時進行加工六水, 那么負載均衡就是根據(jù)每個員工的工作情況給他分配新的零件進行加工俺孙,有的員工可能會感冒辣卒,或者能力上有問題掷贾, 那么給這個人的零件就少一些, 正常員工就給的多一些荣茫。
反向代理:還是上面的例子想帅,加工一個零件可能會分步驟,A部門負責組裝啡莉,B部門負責安裝螺絲港准,那么反向代理就是根據(jù)當前這個零件的狀態(tài)去選擇,是應該去組裝咧欣?還是去安裝螺絲浅缸。
這些技術(shù)是用Java做一個網(wǎng)站最基本要懂的東西,其余的還有更多更多的知識魄咕,所以有的人說衩椒,做一個Java程序猿算是一個最全能的程序猿了,基本上啥都得會哮兰,而這些東西僅僅是基礎(chǔ)毛萌,想要自己變得更加強大,還得繼續(xù)的喝滞,不斷的去學習阁将,學到老、活到老~~~