1. 簡單粗暴,詳細得不要不要的 JavaWeb快速入門
1. 實驗環境准備
(假設你已經裝好了jdk,如果不會安裝jdk,請參考這篇文章)
1.1 安裝一個eclipse或者MyEclipse(本文以eclipse為例),其實所謂的安裝就是網上去下載一個eclipse,然後解壓一下就好了。
1.2安裝tomcat,網上下載一個,然後解壓一下。我這次使用的tomcat容器配的是8080埠。
1.3 將tomcat配置到eclipse中。具體步驟為:Window -- Preferences -- Server -- Runtime Environment -- Add 將tomcat解壓後的路徑配置上去就行了。
本文假設讀者已經對tomcat,eclipse有一定的了解。
2. 新建web項目
首先,一言不合就打開eclipse
Paste_Image.png
我們新建一個項目,File -- new -- Dynamic Web Project。
項目名稱是web,點擊Next
Paste_Image.png
Paste_Image.png
build\classes是默認的編譯目錄,還是點擊Next
Paste_Image.png
好的,最後點擊Finish,一個web項目就建立好了。
目錄結構
Paste_Image.png
2.啥叫JavaWeb項目,它能幹嘛?
JavaWeb項目就是一個應用程序,你不要以為它有多麼神秘。你每天打開的QQ就一個應用程序,你在手機上打開的微信,網路地圖等等,這些都是應用程序。
不同的是,QQ是一個本地客戶端程序,它需要你在自己的電腦上安裝一個客戶端,然後你打開QQ,可以登錄,聊天。
QQ肯定也分客戶端和服務端,我們電腦上裝的就是客戶端,你要知道的一點是,我們發送消息,發送到哪裡去了呢?
沒錯,肯定是發送到QQ的伺服器上了,那裡保存著我們的所有數據。
想想也不可能在本地,因為我們在電腦上發送的消息,在手機QQ上不是也能看到嗎?這就說明,肯定是上傳到它的伺服器然後保存下來了。
而Web項目是什麼呢?
它也是一個應用程序,只不過它的客戶端是運行在瀏覽器上的。
我們打開瀏覽器,訪問一個地址,比如 http://www.jianshu.com/
這個就是我們的訪問路徑,我們通過這個URL向簡書的伺服器提交請求,然後伺服器進行處理,給你回應。
接下來,我們就看到出來一個網頁。
我們在這個網頁上可以寫文章,點贊,收藏,等等。
我們的每一步操作,其實都和伺服器做了一個交互。
比如一個登錄功能,當我們滑鼠點擊那個登錄按鈕,瀏覽器就向伺服器提交了一個請求,伺服器進行處理,然後操作資料庫。最終,它會得出一個結果,就是說,到底能不能讓你登錄,總會有個說法。
如果你密碼寫錯了,它可能就會得出一個用戶名或密碼錯誤的結論。然後,這個信息會從伺服器返回到前台,前台就是瀏覽器。
所謂的前台就是你的瀏覽器,沒什麼神秘的。
前台接受到後台傳過來的信息後,進行一些處理,然後給你個提示,比如,告訴你用戶名或密碼錯誤。
這就是一個完整的交互過程。
現在隨著網速越來越好,瀏覽器的性能越來越強大,我想web肯定是未來的大趨勢。畢竟,誰都不希望在電腦上安裝一大堆客戶端吧。
只用一個瀏覽器多好。
有了web,我只需要有一個瀏覽器,然後就能通過互聯網獲取我想要的資源了。這樣不是很美妙嗎?
近幾年H5非常流行,尤其是移動端,因為手機瀏覽器基本上都支持css3。一樣的道理,我們肯定也不希望在手機上安裝一大堆應用,卡都卡死了,如果能直接訪問一個網頁,就能獲得我想要的服務就好了。
而且現在WIFI也普遍了,如果以後流量能沒有限制,那麼APP的熱度很可能會逐漸被web取代。
當然,現在是不太可能的,畢竟訪問網頁要流量啊,而我在手機上安裝了APP,就好像電腦的QQ一樣,大部分資源文件就在我本地,我不需要每次都去聯網下載。比如圖片,app就沒事,因為就在本地,可是如果用web,我每次訪問那個網頁,就需要把圖片重新下載一遍。這樣不是很浪費流量嗎?
3. 手工搭建web項目
現在,為了說明伺服器和web項目的概念,我們先不用eclipse,來手工搭建一個web項目。
伺服器,正常情況下就是一台配置高一點的電腦,除非是那種大型的專用伺服器。
一般來說,所謂的伺服器,就是電腦。
比如我現在有一台電腦,給他裝了一個linux系統或者windos系統,然後我說,好了,從今以後,這就是伺服器了。現在伺服器一般都是用linux系統的。
那麼tomcat又是什麼?
tomcat其實也是一個應用程序,你網上下載的tomcat往往是一個壓縮包,然後我們解壓以後就相當於安裝好了。
可以這么理解:
伺服器就是一台電腦,而tomcat是一個容器,專門存放web項目的容器。
以下我都將tomcat稱為tomcat容器。
我們看到在tomcat容器根目錄下,有一個webapps文件夾
裡面是這樣的:
Paste_Image.png
好的,現在我要發布一個項目了,我只需要把一個已經做好的web項目往裡面一丟就行了。
除了webapps,我們還發現一個bin目錄。一般來說,可執行的文件都放在bin目錄下。
Paste_Image.png
打開bin,找到一個startup.bat文件。這就是啟動tomcat的東西,雙擊它,tomcat就被啟動了。
然後,瀏覽器可以訪問tomcat裡面的項目。
現在我們來手工搭建一個web項目,首先,在webapps目錄下新建一個文件夾,是的,就是文件夾,不管你項目是什麼,肯定還是放在文件夾裡面的。
Paste_Image.png
項目名稱就叫做webapp。
打開webapp,根據web項目的規范,我們需要有一個WEB-INF文件夾。
Paste_Image.png
然後,在WEB-INF文件夾裡面,必須要有一個web.xml文件。
xml文件,就是一個描述性的文件,我現在的觀點如下:
XML = JavaBean = Json = HashMap
它無非就是描述一些東西,保存一些數據而已。
好的,我們在裡面新建一個web.xml。這個文件非常重要,正因為它的存在,tomcat容器才會知道這個文件夾裡面竟然是一個web項目。
否則,tomcat容器是不知道這個web項目的,它只會將myapp文件夾看做是一個文件夾而已。
Paste_Image.png
我們用記事本打開web.xml,將以下代碼拷貝進去。
<?xml version="1.0" encoding="UTF-8"?>
<web-app>
<display-name>web</display-name>
<welcome-file-list>
<welcome-file>index.html</welcome-file>
<welcome-file>index.htm</welcome-file>
<welcome-file>index.jsp</welcome-file>
<welcome-file>default.html</welcome-file>
<welcome-file>default.htm</welcome-file>
<welcome-file>default.jsp</welcome-file>
</welcome-file-list>
</web-app>
<?xml version="1.0" encoding="UTF-8"?>表示這是一個1.0版本的XML文件,編碼為UTF-8。
<web-app></web-app>就是這個XML文件的一個根節點,就是告訴你,我這個xml文件裡面,有一個東西叫做web-app。
XML的一個作用就是配置文件,web.xml本身就是一個配置文件。在web項目中,我們應用xml最多的也就是配置一些參數。
配置參數,就是給屬性賦值嘛,沒什麼神秘的。
包括我們學習JavaSE,歸根到底,一直在做的一件事就是new對象,然後調用方法,調用方法的目的一方面是做一些事情,另一方面不還是給屬性賦值嘛。
你可以把web.xml看做是一個java類,類名叫做 webApp。它裡面有兩個屬性,分別是display-name和welcome-file-list。
display-name是發布名稱,也就是項目的名字。
welcome-file-list 是歡迎頁面,就是說,當你在瀏覽器直接訪問這個myapp項目,默認跳轉的頁面。
想像一下,應該會變得非常好理解。
2. 如何從零開始學習Java語言
多練習
在學習Java基礎的時候,一個大的原則就是多動手練習,不管你是自學還是培訓,很多時候,你想當然的事情,等你寫出來運行一下,你就會發現不是這么回事兒。當你對Java有一個基本的了解後,你可以用Java語言寫出一些簡單的程序,並且你用的是最簡單的編輯器,比如記事本。這個時候,不要急於進入下一部分,盡可能熟悉這些基礎內容。
2.汲取更多的知識
一段時間後,你會處於一個迷茫期,因為你寫的東西似乎看起來毫無用處,這時你可以試著去寫一些讓你覺得有意思的東西。
比如你可以試著自己寫一些頁面,雖然這部分內容對於後端Java來說,理論上不是特別重要,但至少要達到可以自己寫出一些簡單頁面的水平。
接下來,你需要學習的是Servlet/JSP(J2EE)部分,這部分是Java後端開發必須非常精通的部分,因此這部分是這三部分中最需要花精力的,而且這個時候,你要學會使用開發工具,可以選擇eclipse。當你下載安裝好eclipse以後,一步一步去學習,一定要多動手。
最後一步,你需要學會使用資料庫,mysql是個不錯的入門選擇,而且Java領域里主流的關系型資料庫就是mysql。這部分一般在你學習Servlet/Jsp的時候,就會接觸到的,其中的JDBC部分就是資料庫相關的部分。你不僅要學會使用JDBC操作資料庫,還要學會使用資料庫客戶端工具,比如navicat,sqlyog,二選一即可。
3、繼續深造
現在很多公司為了提高開發效率,普遍會使用一些Java Web框架,因此你還需要學習一些開發框架。目前比較主流的是SSM框架,即spring、springmvc、mybatis。需要學會這三個框架的搭建,並用它們做出一個簡單的增刪改查的Web項目。在這里給大家分享一個小貼士,你可以記錄你第一次搭建的過程。
3. 零基礎如何系統學習Java Web
如果你之前沒有接觸過Java的話你可以先從JavaSE開始學起,畢竟JavaWeb前面還有資料庫以及web前端。
如果你是零基礎的話,可以看書開始學起也可以看視頻教程開始學,當然每個人的學習方法都是不一樣的。
零基礎如果學習Java,你可以看看這套學習路線:
第一:先學習Java的核心庫(JavaSE)
JavaSE的內容包括:環境搭建、基礎語法、面向對象、數組、集合、常用類、IO流、反射機制、網路編程……..
第二:MySQL資料庫
搞定一門資料庫相關的課程,例如:MySQL、Oracle,搞定一個就可以了,目前互聯網公司,例如:京東、阿里等,他們都在使用MySQL,所以建議大家學習MySQL資料庫,小巧輕盈,免費,由於互聯網公司的項目訪問量比較大,所以一般會搭建資料庫的集群,可以一個資料庫不夠,所以需要搭建資料庫集群,為了應付高並發。(搭建的比較多的時候,免費就很重要了。)
第三:WEB前端
以後從事Java開發,從事JavaEE開發,主要開發的系統結構是B/S結構的,B指的是Browser,S指的是Server。要開發這種系統,B端要會,S端也要精通。WEB前端的學習就是學習B端技術。包括:HTML 、CSS、JavaScript(JS)、jQuery框架(底層對JS進行了封裝)…
第四:WEB後端(JavaWEB)
WEB後端其實可以是很多種不同的編程語言,例如:PHP、C、C++、Java,他們都可以進行WEB後端的開發,我們既然選擇了比較火爆的Java,那麼我們學習的後端一定是基於Java語言實現的,包括:Servlet、Filter、Jsp、EL、JSTL、MVC架構模式、資料庫連接池(阿里巴巴的Druid連接池)、代理模式(動態代理)。另外後端學習了之後,還要學習一個非同步編程技術AJAX。(完成網頁的局部刷新,AJAX其實不屬於後端,是前端瀏覽器上的程序。)
學習到這里為止,表示Java基本/基礎的技術已經學完了。但是這些最基層的技術在實際的開發中不會使用的,一般為了開發效率,都會使用大量的提前封裝好的框架。
第五:最好能夠停留下來,做一個項目。
這個項目最好能將之前所學全部串起來。(對以前的知識點進行鞏固。)
這個項目最好是基於:Servlet + Jsp+AJAX+jQuery+MySQL….
在這個項目的開發過程中:大家一定要記住,目前比較好的項目自動構建工具:Maven是一定要精通的。還有一個就是團隊協作開發:Git/SVN是一定要會用的。(目前使用Git比較多一些。)
第六:學習高級框架
Spring、SpringMVC、MyBatis(持久層框架,這個框架互聯網公司使用比較多,因為互聯網項目需要進行SQL優化,MyBatis的SQL優化很方便,所以大部分都是使用MyBatis)
Struts2(很少使用了,使用這個的肯定是很老的項目)、Hibernate(傳統企業,還有政府等可能會使用Hibernate。)
SpringBoot(新項目大部分使用的都是boot了。所以在項目中遇到還在使用SSM的一般都是遺留項目。)
當你走到這里之後,基本上你可以出山了。(去找工作,8K的薪資應該問題不大,但前提是你學的好。學習的深度夠了,廣度夠了。)
第七:最好能有一個大型項目是使用框架來完成的。
SpringBoot做一個項目。
Spring SpringMVC MyBatis做一個項目。
這個項目最好是找幾個人搭夥做一下。體驗一下團隊協作。(尤其是使用一些協作的工具。怎麼溝通,怎麼寫日報,怎麼開會,怎麼使用Git,等等….)
第八:如果你的薪資想達到15K的話,你可能需要還要學習一些分布式相關的一些技術。
能夠應付高並發的一些技術,例如:分布式框架Dubbo、SpringCloud、MQ、Nginx、Redis…..
你可以根據這套學習路線進行學習。更多學習資料免費拿全新精講視頻/面試題,初學者電子書籍等等免費領取看這里
4. 如何從零開始學習java web開發
1)如果每天花半天時間的話,學習java這門語言的話,周期大概一個月可以入門; 2)如果從頭走一遍,把java前端和後端涉及的知識: java前端:css+HTML+JavaScript; java後端:三大框架(SSH),資料庫(SQL)
5. 從零開始寫java web框架 怎麼樣
首先從一個簡單的 Web 應用開始,讓讀者學會如何使用IDEA、Maven、Git等開發工具搭建 Java Web 應用;接著通過一個簡單的應用場景,為該 Web 應用添加若干業務功能,從需求分析與系統設計開始,帶領讀者動手完成該 Web 應用,完善相關細節,並對已有代碼進行優化;然後基於傳統 Servlet 框架搭建一款輕量級 Java Web 框架,一切都是從零開始,逐個實現類載入器、Bean容器、IoC框架、MVC 框架,所涉及的代碼也是整個框架的核心基礎。為了使框架具備 AOP 特性,從代理技術講到 AOP 技術,從 ThreadLocal 技術講到事務控制技術。最後對框架進行優化與擴展,通過對現有框架的優化,使其可以提供更加完備的功能,並以擴展 Web 服務插件與安全控制插件為例,教會讀者如何設計一款可擴展的Web應用框架。
6. 如何從零開始學習Java
學習分為四個階段
第一階段一片迷茫,懷疑自己智商!
第二階段入門後欣喜異常,自信心爆表,征服星辰大海貌似指日可待!
第三階段需要掌握真功夫時倍感吃力, 意志動搖!
第四階段一座大橋橫跨南北,天塹變通途!回頭一望,往事如煙!
線下培訓:
1、學生的自覺性。對於缺乏學習自覺性的同學,不得不選擇花比在線教育更多的金錢選擇線下培訓。因為老師可以起到監督作用。
2、感情的互動。人是社交動物,所以需要通過社交去和其他人建立信任,從而建立感情,有了這個基礎,學生就比較容易對老師的要求做到言聽計從。這方面,目前在線教育確實也難以做到。
3、 學習到的專業性。面對面的教學,會比自己學習記憶更深刻,更系統、更專業。
4、學習成本高(直接經濟成本約4萬元左右),時間和空間上不自由。
線上培訓:
1、經濟上極大減輕了負擔,直接經濟成本甚至只有線下培訓的1/3,這對於很多學習者來說,可以說是一件莫大的好事。
2、時間和空間上自由,甚至可以一邊工作一邊培訓,只需一台電腦一根網線,就可以隨時隨地登陸在線教育平台學習。應該說提高了學習效率。
3、在線教育獨有的錄播課程,可以幫助學生節省大量時間,時間就是生命,這在快節奏的今天意義尤其重大。上培訓班難免因為其他因素會被很多廢話或者無意義的事情浪費很多時間,而對於錄播視頻,完全可以避免浪費時間的情況出現。
7. 從零開始學java web開發需要多長時間
1)如果每天花半天時間的話,學習java這門語言的話,周期大概一個月可以入門;
2)如果從頭走一遍,把java前端和後端涉及的知識:java前端:css+HTML+JavaScript;java後端:三大框架(SSH),資料庫(SQL);虛擬機:JVM;其它需要也要學的如:並發多線程,設計模式,數據結構,演算法等。這個周期可能就長一點了,掌握或者稍微精通的話,最起碼半年以上。
8. 學習java web應該先學哪些知識
javaweb需要java基礎,如果你要做web就離不開js。如果有java基礎知識就好,
要學java web開發就是前台開發,java分為3種分支:JavaSE, JavaEE, JavaME
那就要學javaEE,它就是BS架構搞互聯網的,資料庫還是要掌握的
重點學好之後就要學html(最簡單的靜態頁面) css(修改頁面樣式、風格、字體、布局) js(也就是javascript,它算是一個弱類型語言,不過功能很強大,可以調用資料庫,學頁面開發就要學它的,一些頁面的功能插件之類的) 然後就是jsp php asp之類的,因為不可能總用到html靜態頁面,然後都學好之後就要學java框架了
現在主流的是3大框架,俗稱ssh:也就是strust、spring、hibernate
不過每個公司用的都不一樣,可能只用1個,或者用2個,或者一個都不用,或者有自己單獨的框架,學的話只是一個起步,一個基礎,學會一個,學另一個就很容易,很多知識是在工作實踐中才學習掌握的。然後就是你自己慢慢在工作中成長了,通過實踐,學一些東西,比如工作中網路的應用,就要用一些架包。
9. 從零開始學java web開發需要多長時間
其實學java一般要多久?因人而異,例如一個零基礎的小白自學java,每天學習8個小時來算,而且在有學習資料的基礎上,每天學習,從零到找到工作,起碼要半年起步,而且還要有項目經驗,否則是不會有公司要你的。而一個有一些基礎的人,在經過有人系統的教學後,是可以很快學會掌握java的,大概3個月左右。不過java相對於C,C++java而言,java無疑簡單了很多,不需要指針,不需要銷毀對象,使得對java初學者來講更容易入門,挫折感也少。
很多人自學java,因為抓不到學習java的重點,找不到學習java的方向。往往花費大量的時間和精力,而效果卻不大。面試IT企業office時或者參與真正的項目開發忽然發現自己一無所知。
我認為正確的學習路徑應該是一個月java基礎,兩個月JavaSE,半個月html+css+div,一個月的資料庫,servlet+jsp一個月,然後SSH框架兩個月。然後通起來串一遍,把知識結合起來,再做幾個項目練練手,就差不多了。(其實學習java 基礎部分需要時間不止一個月,至於說不止一個月,是需要你將java 基礎部分完全明白,能夠串起來綜合運用,甚至需要兩遍三遍;之所以這么說,不是為了說java 有多難,而是為了強調基礎有多重要。)
我想要告訴你的是學習Java不難,但是也會很艱辛的敲代碼。Java程序員經常需要加班,學之前要做好心理准備。其次一旦下定決心學java了,一定要堅持下去,不要半途而廢。
java零基礎的學生自學必然會耗費大量的時間和精力,而且如果你沒有定製系統的學習方案,效果將事倍功半,上java培訓班也是個不俗的自由選擇,再加上自己的努力,一定可以學有所成,當然一定要慎重選擇靠譜的機構。
最後學java依舊要看興趣,如果你真的深入學習,你會發現" 學java要多久 ?"是個毫無意義的問題,不要忘記,技術的道路更新實在太快。人只有在不斷學習,才能走在技術的最前端。也許一輩子都要學呢。活到老,學到老,而且互聯網技術更新迭代很快,只有不斷學習才能更上時代不被淘汰。
總而言之,自學java是可以的,但效率會很低,對個人能力要求很高,時間也會很長,而且最重要的是可能找不到最新的學習資料(大多是收費),所以入坑需謹慎!
想學習java的朋友,可以試試我總結的Java入門學習路線以及入門教程(免費的):
Java零基礎入門學習路線:
本套課程是由B站高淇老師開講的Java300集!為初學者而著!適合準備入行開發的零基礎員學習Java。基於最新JDK13、IDEA平台講解的,視頻中穿插多個實戰項目。每一個知識點都講解的通俗易懂,由淺入深。不僅適用於零基礎的初學者,有經驗的程序員也可做鞏固學習。
希望我的回答對你有所幫助,望採納!
10. 學java做web要學那些東西從零開始的話。
想走的遠,從基礎的Servlet開始,不要開始就用框架,那樣會屏蔽你的對基礎的掌握。
能通過JSP做一個網站,和單純通過Servlet做一個網站。了解透了MVC是怎麼回事你就可以考慮找些框架熟悉起來了。
前提是你JAVA的基礎要好,JAVA基礎不好是白搭。
以上只是單純的JAVA web開發需要學習的。
作為Web開發還必須掌握的有:
HTML: 能看懂,能脫離工具編寫。
JavaScript:最好能熟練。
SQL:至少要熟練。
還有就是資料庫的一些,這個你只要會搜索資料,就沒什麼問題了。