JavaWeb開發(fā)Eclipse環(huán)境配置--史上最詳細的教程(轉)

https://www.cnblogs.com/mkwfqd/p/5771756.html



JavaWeb開發(fā)Eclipse環(huán)境配置--史上最詳細的教程


【前言】

JSP本身是JavaWeb中的知識搓蚪,但是在學習Android網絡時,必然要涉及到與服務器之間的交互丁鹉,所以學一下JSP以及其他JavaWeb的內容還是很有必要的陕凹,至少能明白程序在訪問服務器時,整個過程的原理鳄炉。

其實杜耙,在學習Android之前,Java和JavaWeb的知識都是要先學習的拂盯。本人是在2014年7月正式開始Android方向的研究學習佑女,在這之前沒有接觸任何和計算機軟件相關的知識(唯一相關的是,本科學過一門C語言課程谈竿,不過現在已經忘光了)团驱。

我們來看下面的這張圖就知道了:

兩張圖拼起來看就對了,借鑒的是李剛的“瘋狂Java學習路線圖”空凸,手機像素渣嚎花,圖片不是很清晰,將就一下吧呀洲。說白了紊选,在學習Android之前要具備一定的Java基礎(Java SE 啼止、JavaWeb、數據庫等)兵罢。而如果要學的扎實并且有個好的就業(yè)崗位献烦,以下基礎知識需要全部具備:計算機基礎知識(操作系統(tǒng)、計算機網絡卖词、數據結構巩那、數據庫、設計模式等)此蜈、C/C++即横、Java、Android裆赵、Linux东囚。

所以,考慮到時間的因素顾瞪,像我這種初學者舔庶,只能在邊學Android的時候邊學其他的知識。我學到了哪里陈醒,我的博客就會寫哪里惕橙,也希望能和其他初學者一起共勉,一起見證钉跷!


【正文】

一弥鹦、JSP簡介

JSP:Java Server Pages。在傳統(tǒng)的HTML文件(*htm,*.html)中加入Java程序片段(Scriptlet)和JSP標記(tag)爷辙,就構成了JSP網頁彬坏。


二、學習重點:

JSP語法(腳本膝晾、指令栓始、動作)

JSP的內置對象

創(chuàng)建動態(tài)的內容

用戶會話跟蹤


三、使用tomcat軟件在本地搭建服務器:

Tomcat是Apache組織的Jakarta項目中的一個重要子項目血当,是Sun公司推薦的運行Servlet和JSP的容器(引擎)幻赚,其源代碼完全公開。

有了這個服務器臊旭,就相當于在本地的計算機有了一個網站落恼,然后我們可以通過瀏覽器來訪問這個網站。

tomcat軟甲是apache旗下的一個開源項目离熏。軟件下載鏈接:http://tomcat.apache.org/

下載之后佳谦,將壓縮包解壓:

注意目錄名不能有中文和空格。目錄介紹如下:

bin:二進制執(zhí)行文件滋戳。里面最常用的文件是startup.bat

conf:配置目錄钻蔑。里面最核心的文件是server.xml啥刻。可以在里面改端口號等矢棚。默認端口號是8080郑什,也就是說府喳,此端口號不能被其他應用程序占用蒲肋。

lib:庫文件。tomcat運行時需要的jar包所在的目錄

logs:日志

temp:臨時產生的文件钝满,即緩存

webapps:web的應用程序兜粘。web應用放置到此目錄下瀏覽器可以直接訪問

work:編譯以后的class文件。

軟件運行之前要保證Java環(huán)境變量已經配置:

上圖中弯蚜,變量名為JAVA_HOME孔轴,變量值為:JDK安裝的絕對路徑。

注:Catalina_Home環(huán)境變量:指定tomcat在啟動時啟動哪個tomcat,一般不推薦配置碎捺。

回到tomcat的bin目錄中, 雙擊startup.bat:

之后彈出如下界面:

這個時候路鹰,本地的服務器就已經搭建起來了。如果想關閉服務器收厨,可以直接關閉上面的窗口晋柱,或者在里面輸入Ctrl+C禁止服務。

首先查看自己電腦的ip地址诵叁,我的計算機的ip地址為:192.168.1.112雁竞。

在瀏覽器中輸入http://192.168.1.112:8080/(或者輸入http://localhost:8080/也是可以的)。如果彈出如下界面拧额,進入本地服務器的首頁碑诉,表示tomcat安裝成功并且啟動起來了:

上方圖片中,顯示我的Tomcat的版本為:8.0.14侥锦。它的版本號是跟著JDK的版本走的进栽,所以,建議JDK的版本為1.8恭垦。

我們現在在瀏覽器上測試一下它吧:

首先在D:\apache-tomcat-8.0.14\webapps\ROOT目錄中新建一個jsp文件:

jsp文件中填入如下內容:

<%

String name = request.getParameter("name");

String pwd = request.getParameter("password");

out.print("name:" + name + ",password:" + pwd); //在瀏覽器上顯示輸入地址中的用戶名與密碼

%>?

現在我們隨便起一個用戶名和密碼的賬號快毛,比如用戶名smyhvae,密碼為smyh署照,然后在瀏覽器中輸入如下內容:

http://192.168.1.112:8080/test.jsp?name=smyhvae&password=smyh

輸入這個鏈接之后祸泪,回車,出現如下界面:

上圖中表示建芙,我們向服務器發(fā)送這樣一個請求没隘,鏈接中,問號前面的內容代表請求的路徑禁荸,問號后面是我們要傳送的參數(鍵是固定不變的右蒲,值是用戶自己填寫的)阀湿,然后服務器返還給我們這樣的數據。


三瑰妄、將Tomcat和eclipse相關聯:

打開eclipse for Java EE 陷嘴,選擇菜單欄Windows-->preferences,彈出如下界面:

上圖中间坐,點擊“add”的添加按鈕灾挨,彈出如下界面:

上圖中,選擇對應的Tomcat版本竹宋,繼續(xù):

上圖中劳澄,選擇Tomcat的路徑,以及JRE蜈七,點擊“完成”秒拔,配置完畢。

新建java工程飒硅,建一個動態(tài)的工程:

注:對“動態(tài)”的理解:html是靜態(tài)的砂缩,寫成什么,就是什么三娩。動態(tài)指的是根據服務器端返回的數據動態(tài)地生成頁面庵芭。比如張三登陸可以看到張三的信息;換成李四登陸尽棕,可以看到李四的信息喳挑。

點開上圖中的紅框部分,彈出如下界面:

按照上圖進行配置滔悉,其中伊诵,第三個紅框中,是加載自己的jdk的安裝路徑即可:

然后回官,單擊finish曹宴。繼續(xù):


工程文件結構:

上圖中,deployment descriptor:部署的描述歉提。Web App Libraries:自己加的包可以放在里面笛坦。build:放入編譯之后的文件。WebContent:放進寫入的頁面苔巨。

在WebContent文件夾下新建一個jsp文件版扩。在下圖中可以看到它的默認代碼:

上圖中,這種編碼方式不支持中文侄泽。我們來修改一下JSP文件的編碼方式礁芦,按上圖所示,鼠標右擊,選擇"Preferences"柿扣,彈出如下對話框:

上圖中肖方,將編碼方式改為UTF-8。

同樣未状,我們還需要將文本內容的編碼方式改為UTF-8(這個編碼和程序無關)俯画,選擇菜單欄Windows--preferences,打開如下界面司草,將編碼方式改為UTF-8艰垂,并點擊update:

以后每次新建一個jsp文件,默認的編碼方式就是UTF-8了翻伺。默認代碼如下:

1 <%@ page language="java" contentType="text/html; charset=UTF-8"

2? ? pageEncoding="UTF-8"%>

3 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">

4 <html>

5 <head>

6 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">

7 <title>Insert title here</title>

8 </head>

9 <body>

10

11 </body>

12 </html>

我們在hello.jsp中修改一下材泄,將上方的第7行的標題改一下沮焕,并在第10行添加輸出語句吨岭。最終代碼如下:

1 <%@ page language="java" contentType="text/html; charset=UTF-8" 2? ? pageEncoding="UTF-8"%> 3 4 5 6 7 <title>hello JSP</title>8 9 10? ? <%

11? ? ? ? out.println("hello,JSP");

12? ? %>13 14

上方的第11行,out指的是輸出流峦树。通過頁面獲取這個輸出流辣辫,并打印在頁面中。以前學的System.out.println()指的是向控制臺輸出魁巩。

程序運行之前急灭,我們先修改一下瀏覽器選項:

現在我們開始運行程序:

運行時,彈出如下錯誤:(如果沒有此錯誤谷遂,請忽略)

原因是葬馋,我們之前點擊了Tomcat安裝包中的?startup.bat,這樣一來就手動打開了Tomcat服務器肾扰,這明顯是多余的畴嘶,因為程序運行時,eclipse會自動開啟Tomcat服務器集晚。所以我們先手動關掉tomcat軟件窗悯,再次運行程序,就行了偷拔〗海控制臺信息如下:

瀏覽器會自動打開,網頁信息如下:

現在來解釋一下上方網址的名稱為什么顯示的是 http://localhost:8080/TomcatTest/

我們選中項目莲绰,右鍵選擇“properties”欺旧,彈出如下對話框:

上圖顯示,我們所部署的路徑是根目錄蛤签,根目錄的名稱默認為我們新建的項目名辞友,所以網址才會顯示為:主機名+端口號+項目名。

網頁顯示的錯誤為404顷啼,即找不到網頁踏枣,可見網頁中并沒有看到我們新建的jsp文件昌屉,我們再來找一下原因。打開工程文件中茵瀑,WEB-INF目錄下的web.xml文件:

上圖解釋:當程序運行時间驮,Tomcat會首先讀取工程的配置文件,且名字必須為web.xml马昨。當系統(tǒng)默認進入的鏈接為:主機名+端口+工程名時竞帽,服務器就會找上圖中<welcome-file-list>標簽里的頁面(有好幾個頁面的話,就依次往下找)鸿捧;而標簽<welcome-file-list>中并沒有hello.jsp文件屹篓。所以,我們需要在瀏覽器地址欄輸入:http://localhost:8080/TomcatTest/hello.jsp匙奴,才會將hello.jsp頁面顯示出來堆巧。效果如下:

四、程序運行的原理:

我們現在來分析一下上面的程序運行的原理泼菌。

當在服務器上運行后谍肤,會生成與工程文件并列的一個文件夾:Servers。如下:(如果刪掉了Servers文件夾哗伯,當重新運行時荒揣,文件夾又會自動生成)

這個文件夾是Tomcat服務器的一個基本的配置。

上圖中表明焊刹,我們新建的項目已經部署到Tomcat服務器上去了括丁,也就是看到了TomcatTest這個工程被發(fā)布出去了(發(fā)布的過程即:將寫的工程打包以后放到Tomcat里)具钥。

其實eclipse for EE已經包含了Tomcat服務的插件,但其也必須依賴Tomcat來啟動。我們雙擊上圖的紅框部分迹淌,顯示如下信息:

上圖的紅框部分表明古掏,服務的部署是在eclipse里面(默認是放在工作空間里的.metadata文件夾下)秸应,而不是在Tomcat里面瀑焦。我們來改一下,前提是工程并沒有發(fā)布到Tomcat中去敞嗡,那我們先把之前發(fā)布的版本刪了吧(稍后重新發(fā)布):

然后就可以修改部署的路徑了:

上圖中颁糟,使用Tomcat的安裝目錄作為部署的位置,并修改部署的路徑Deploy path(建議改成Tomcat的webapps目錄下)喉悴,然后保存即可棱貌。這時,重新運行程序』啵現在來到Tomcat的webapps目錄下婚脱,發(fā)現多了一個TomcatTest文件夾(即工程文件名),并且文件夾下包含了工程文件中WebContent的內容:

上圖說明,說明這才是真正將程序發(fā)布到服務器上障贸。

我們再來到Tomcat的work目錄中错森,看一下編譯之后的文件:

?

上圖表明,Tomcat會先將jsp文件轉為java文件篮洁,然后再把java文件編譯為class文件涩维,最終執(zhí)行的是class文件。現在來看一下JSP運行的原理袁波。


四瓦阐、JSP的運行原理:

只有當客戶端第一次請求JSP時,才需要將其轉換篷牌、編譯(所以第二次瀏覽同樣的網頁時睡蟋,速度會更快)

Web服務器在遇到訪問JSP網頁的請求時,首先執(zhí)行其中的程序片段枷颊,然后將執(zhí)行結果以HTML格式返回給客戶戳杀。

程序片段可以操作數據庫、重新定向網頁以及發(fā)送email等等偷卧,這就是建立動態(tài)網站所需要的功能豺瘤。

所有程序操作都在服務器端執(zhí)行,網絡上傳送給客戶端的僅是得到的結果听诸,對客戶瀏覽器的要求最低。

總結:本文的整個過程蚕泽,讓我們學會了如何配置Tomcat和部署工程文件晌梨,明白了jsp文件是怎樣發(fā)布到服務器上并最終顯示出來。關于JSP的進一步學習须妻,將在后面呈現仔蝌。




五、Tomcat的其他問題:

1荒吏、端口占用問題:

在cmd中輸入netstat -ano命令敛惊,查看占用端口的進程pid,再用任務管理器關閉相應進程即可绰更。

我們在瀏覽器中輸入"www.baidu.com"瞧挤,但是并沒有輸入端口號依然能進入網頁,這是因為瀏覽器默認的端口號為80儡湾,如果對方服務器是監(jiān)聽在80端口上特恬,則在瀏覽器中輸入網址時,可以不用輸入端口號徐钠。

Tomcat默認監(jiān)聽的端口號是8080(server.xml文件的第63行)癌刽,可以在配置文件conf/server.xml中修改

【備注】Tomcat關聯幫助文檔Javadoc

我們以后如果要使用到Servlet類,但是想查看里面的源碼和幫助文檔显拜,發(fā)現看不到:

按住ctrl點進去之后衡奥,是下面的界面:

我們下載的tomcat中自帶了源碼,但是幫助文檔需要另外下載:

?著作權歸作者所有,轉載或內容合作請聯系作者
  • 序言:七十年代末远荠,一起剝皮案震驚了整個濱河市杰赛,隨后出現的幾起案子,更是在濱河造成了極大的恐慌矮台,老刑警劉巖乏屯,帶你破解...
    沈念sama閱讀 211,123評論 6 490
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現場離奇詭異瘦赫,居然都是意外死亡辰晕,警方通過查閱死者的電腦和手機,發(fā)現死者居然都...
    沈念sama閱讀 90,031評論 2 384
  • 文/潘曉璐 我一進店門确虱,熙熙樓的掌柜王于貴愁眉苦臉地迎上來含友,“玉大人,你說我怎么就攤上這事校辩【轿剩” “怎么了?”我有些...
    開封第一講書人閱讀 156,723評論 0 345
  • 文/不壞的土叔 我叫張陵宜咒,是天一觀的道長惠赫。 經常有香客問我,道長故黑,這世上最難降的妖魔是什么儿咱? 我笑而不...
    開封第一講書人閱讀 56,357評論 1 283
  • 正文 為了忘掉前任场晶,我火速辦了婚禮混埠,結果婚禮上,老公的妹妹穿的比我還像新娘鞠柄。我一直安慰自己麦射,他們只是感情好钩述,可當我...
    茶點故事閱讀 65,412評論 5 384
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著惨远,像睡著了一般谜悟。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上北秽,一...
    開封第一講書人閱讀 49,760評論 1 289
  • 那天,我揣著相機與錄音最筒,去河邊找鬼贺氓。 笑死,一個胖子當著我的面吹牛床蜘,可吹牛的內容都是我干的辙培。 我是一名探鬼主播,決...
    沈念sama閱讀 38,904評論 3 405
  • 文/蒼蘭香墨 我猛地睜開眼邢锯,長吁一口氣:“原來是場噩夢啊……” “哼扬蕊!你這毒婦竟也來了?” 一聲冷哼從身側響起丹擎,我...
    開封第一講書人閱讀 37,672評論 0 266
  • 序言:老撾萬榮一對情侶失蹤尾抑,失蹤者是張志新(化名)和其女友劉穎歇父,沒想到半個月后,有當地人在樹林里發(fā)現了一具尸體再愈,經...
    沈念sama閱讀 44,118評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡榜苫,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 36,456評論 2 325
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現自己被綠了翎冲。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片垂睬。...
    茶點故事閱讀 38,599評論 1 340
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖抗悍,靈堂內的尸體忽然破棺而出驹饺,到底是詐尸還是另有隱情,我是刑警寧澤缴渊,帶...
    沈念sama閱讀 34,264評論 4 328
  • 正文 年R本政府宣布赏壹,位于F島的核電站,受9級特大地震影響疟暖,放射性物質發(fā)生泄漏卡儒。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 39,857評論 3 312
  • 文/蒙蒙 一俐巴、第九天 我趴在偏房一處隱蔽的房頂上張望骨望。 院中可真熱鬧,春花似錦欣舵、人聲如沸擎鸠。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,731評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽劣光。三九已至,卻和暖如春糟把,著一層夾襖步出監(jiān)牢的瞬間绢涡,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 31,956評論 1 264
  • 我被黑心中介騙來泰國打工遣疯, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留雄可,地道東北人。 一個月前我還...
    沈念sama閱讀 46,286評論 2 360
  • 正文 我出身青樓缠犀,卻偏偏與公主長得像数苫,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子辨液,可洞房花燭夜當晚...
    茶點故事閱讀 43,465評論 2 348

推薦閱讀更多精彩內容

  • 轉自陳明乾的博客虐急,可能有一定更新。 轉原文聲明:原創(chuàng)作品滔迈,允許轉載止吁,轉載時請務必以超鏈接形式標明文章 原始出處 被辑、...
    C86guli閱讀 4,673評論 6 72
  • Spring Cloud為開發(fā)人員提供了快速構建分布式系統(tǒng)中一些常見模式的工具(例如配置管理,服務發(fā)現赏殃,斷路器敷待,智...
    卡卡羅2017閱讀 134,628評論 18 139
  • 轉自陳明乾的博客,可能有一定更新仁热。 轉原文聲明: 原創(chuàng)作品榜揖,允許轉載,轉載時請務必以超鏈接形式標明文章 原始出處 ...
    LUNJINGJIE閱讀 3,966評論 1 33
  • 2018.9.13 星期四 晴 親子日記第284天 中午放學回家的路上抗蠢,女兒說起自己的考試情況举哟,數學沒有不會的,應...
    涓涓流水_672f閱讀 210評論 0 3
  • 今天下班后迅矛,單位又召開了全體教職工大會妨猩,會議總結了本學期方方面面的工作也對下學期的工作提出了要求!回到家近八點了秽褒,...
    五顏六色的圓圈小宿閱讀 172評論 0 1