C/S架構: 客戶端與服務器端的交互 UI界面是在客戶端程序實現
B/S架構: 瀏覽器端與服務器端的交互 UI界面是在服務端器
我們將使用Servlet開發B/S架構的WEB應用程序
B/S架構優勢:
1用戶不需要更新應用程序
2幾乎不占用用戶的資源
3數據更安全
web資源被分為:
1靜態web資源: 供人們瀏覽的數據始終是不變的;瀏覽器能直接看懂
如html、css、jpg
2動態web資源:供人們瀏覽的數據是由程序產生的,不同時間點訪問web頁面看到的內容各不相同;要先轉換成html,再在瀏覽器顯示;Java中,動態web開發技術統稱為javaweb。 如Servlet、Jsp
在Sun的Java Servlet規范中,對Java Web應用作了這樣定義:“Java Web應用由一組Servlet、HTML頁、類、以及其它可以被綁定的資源構成。它可以在各種供應商提供的實現Servlet規范的 Servlet容器 中運行。”
Java Web應用中可以包含如下內容:
1Servlet
2JSP
3實用類
4靜態文檔如HTML、圖片等
5描述Web應用的信息(web.xml)
Servlet容器為JavaWeb應用提供運行時環境,它負責管理Servlet和JSP的生命周期,以及管理它們的共享數據。
Servlet容器也稱為JavaWeb應用容器,或者Servlet/JSP容器。
目前最流行的Servlet容器軟件括:
Tomcat
J2EE服務器(如Weblogic)中也提供了內置的Servlet容器
Tomcat 是一個免費的開放源代碼的 Servlet 容器,屬於輕量級應用服務器,在中小型系統和並發訪問用戶不是很多的場合下被普遍使用,是開發和調試JSP 程序的首選;它是 Apache 軟件基金會的一個頂級項目,由 Apache,Sun和其他一些公司及個人共同開發而成。由於有了 Sun 的參與和支持,最新的 Servlet 和 JSP 規范總是能在 Tomcat 中的到體現。官網: http://tomcat.apache.org
1. 配置 JAVA_HOME
2. 雙擊 bin 目錄下的 startup.bat 文件
3. 在地址欄中輸入 http://localhost:8080/
URL: Uniform Resource Locator 統一資源定位符
1.雙擊 bin 目錄下的 shutdown.bat 文件關閉 Tomcat 服務器
2. 修改 Tomcat 默認的端口號:
打開 conf 目錄下的 server.xml 文件
修改端口號
Tomcat 提供了一個管理程序:manager,用於部署到 Tomcat 服務器中的 web 應用程序
要訪問 manager web 應用程序,需要添加具有管理員權限的賬號,編輯 conf 目錄下的 tomcat-users.xml 文件,添加 manager-gui角色,設置用戶名和密碼
<?xml version="1.0" encoding="UTF-8"?>
<tomcat-users>
<role rolename="manager-gui"/>
<user username="admin" password="admin" roles="manager-gui"/>
</tomcat-users>
創建一個靜態網站
在webapps目錄下創建一個目錄(命名必須不包含中文和空格),這個目錄稱之為項目目錄
在項目目錄下創建一個html文件
啟動tomcat
測試項目:http://localhost:8080/項目名/文件名
協議 ip 端口 資源
http 協議
hypertext transfer protocol(超文本傳輸協議)的縮寫,w3c制定的通訊協議,規定了瀏覽器和服務器通信的規則。
傳遞的就是超文本 – HTML – 超文檔標記語言。然后被瀏覽器解析
是 TCP/IP 協議集中的一個應用層協議
HTTP協議采用了請求/響應模型。客戶端向服務器發送一個請求,請求頭包含請求的方法、URL、協議版本、以及包含請求修飾符、客戶信息和內容的類似於MIME的消息結構。服務器以一個狀態行作為響應,響應的內容包括消息協議的版本,成功或者錯誤編碼加上包含服務器信息、實體元信息以及可能的實體內容。
請求消息的結構:
一個請求行、若干消息頭、以及實體內容,其中的一些消息頭和實體內容都是可選的,消息頭和實體內容(發送的數據)之間要用空行隔開。
響應消息的結構:
一個狀態行、若干消息頭、以及實體內容 ,其中的一些消息頭和實體內容都是可選的,消息頭和實體內容之間要用空行隔開。
狀態碼:
200:請求成功,瀏覽器會把響應體內容(通常是html)顯示在瀏覽器中
302 :請求重定向,你訪問我,我通知你訪問另一個資源
304 :如果再次訪問的頁面沒有經過修改,通知瀏覽器去讀緩存
404 :找不到資源
500 :服務器程序出錯
請求方式
1GET 方式 : get方式請求參數跟在url后面?username=aaa&password=111,數據最多1K
(刷新頁面,超鏈接,Form表單的method為get)
2Post方式: 請求參數放在消息體中傳輸,相對安全,get大小限制1K,post 無數據量限制
響應消息的實體內容就是網頁文件的內容,也就是在瀏覽器中使用查看源文件的方式所看到的內容。
一個使用GET方式的請求消息中不能包含實體內容,只有使用POST、PUT和DELETE方式的請求消息中才可以包含實體內容。
tomcat本地修改端口號,eclipse中也需要修改
一個 web 應用程序是由一組 Servlet、HTML 頁面、類以及其它的資源組成的運行在 web 服務器上的完整的應用程序,以一種結構化的有層次的目錄形式存在
組成 web 應用程序的這些文件要部署在相應的目錄層次中,根目錄代表整個 web 應用程序的”根”
通常將 web 應用程序的目錄放在 webapps 目錄下,在 webapps 目錄下的每一個子目錄都是一個獨立的 web 應用程序,子目錄的名字就是 web 應用程序的名字,也就是 web 應用程序的“根”。用戶通過 web 應用程序的”根”來訪問 web 應用程序中的資源
eclipse創建並發布一個web項目
New→Dynamic Web project→項目名
WebContent新建一個index.jsp
Export→WAR file
項目發布到tomcat的webapps下,啟動tomcat
測試項目:http://localhost:8080/項目名
Eclipse運行tomcat
右鍵項目 Run as → Run on Server (發布,一次)
在目錄的工作空間下
\.metadata\.plugins\org.eclipse.wst.server.core\tmp1\wtpwebapps
可以查看到發布的項目結構