1.什麼是服務器
所謂的服務器其實就是一段別人寫好的程序,服務器有兩個能力。
a.可以幫助我們來管理資源。
b.可以將資源向外界發布以便於外界來訪問這個資源。
2.資源有哪些
a.靜態資源:文件本身並不會隨著訪問的過程而發生改變。常見的靜態資源有哪些?
(1)html文件 (2) css或者是js (3) 影音或者圖片。
b.動態資源:就是我們寫好的一些能夠在服務端中運行的程序,程序會隨著執行的過程而發生改變。
(1)servlet (2)jsp (3)action 等等。
3.服務器類型
a.靜態資源管理服務器:apache HttpServer(其實httpServer也可以管理動態資源,但是默認的他是不開啟動態資源管理的。httpserver並不能處理我們的java程序,但是其他的一些腳本語言是可以處理的。比如說:ruby..)
b.動態資源管理服務器:可以幫助我們運行我們用java語言所寫的程序。
(1)web容器|tomcat容器(開源):這一類容器的特點是僅實現了javaEE中部分的技術點。
(2)應用服務器|javaEE容器(付費的):這一類服務器的特點是將javaEE平台下的所有的技術點都實現了。weblogic jboos...
tomcat:apache的一個開源的免費服務器。這個服務器現在在國內使用的還是比較多的。
tomcat服務器只實現了javaEE平台下的部分技術點。比如:jsp、servlet、jdbc等等。
4.javaEE
javaEE平台,其實就是一堆技術點的集合。每個技術點都是解決某一領域的方案。常見的JavaEE技術有:servlet、jsp、jdbc、jndi、javamail、jta、ejb、jpa、 jsf、javaBean等等。
目前常見的版本:javaEE1.3、javaEE1.4、javaEE5.0、javaEE6.0。
5.servlet/jsp、tomcat和JavaEE的版本對應關系
TOMCAT4--J2EE1.3---SERVLET2.3/JSP1.2
TOMCAT5--J2EE1.4--SERVLET2.4/JSP2.0
TOMCAT6---J2EE5.0---SERVLET2.5/JSP2.1
TOMCAT7---J2EE6.0----SERVLET3.0
6.tomcat版本
tomcat4.x、tomcat5.x、tomcat6.x、tomcat7.x、tomcat8.x
7.tomcat的安裝
a.exe文件
b.rar文件,直接解壓即可。
在安裝的過程中需要注意的是:tomcat盡量不要存放在目錄名稱為中文的目錄中。
在環境變量中添加CLASS_PATH="%JAVA_HOME%"\lib;
8.tomcat結構目錄
a.bin---->這個目錄主要是存放了一些bat文件或者sh文件。啟動tomcat的方式:
1).點擊 startup.bat可以啟動tomcat
2).在黑窗口下運行 catalina.bat 後面需要跟命令:start啟動 stop關閉
3).關閉容器 shutdonw.bat或者是直接關閉黑窗口。
b.conf--->這個目錄中存放的都是一些配置文件 xml
server.xml:這個文件主要是完成對tomcat的總體性的配置文件。比如說可以在這個文件裡配置端口號,可以配置服務訪問的host名稱。
<Connector port="8080" protocol="HTTP/1.1" maxThreads="150" connectionTimeout="20000" redirectPort="8443" URIEncoding="utf-8"/>
還可以配置編碼方式,修改port中的值來制定你要讓tomcat監聽的端口號。
c.lib---->這個目錄中存放的是一些jar文件,這裡的jar文件重要有兩大類:
1)tomcat自身的jar
2)實現javaEE平台下部分標准的實現類(比如:jsp servlet...)
d.log---->存放的都是tomcat的日志文件。如果我們想了解黑窗口在啟動時的打印信息,可以進到這個目錄下找到catalina.log文件在這個文件中可以看到相關記錄。
e.temp---->在這個目錄中存放的是tomcat在運行時所產生的一些臨時文件。這些文件是否存在並不影響tomcat的運行,所以這個目錄下的內容可以被刪除掉。但是:temp文件夾不能刪。
f.webapps---->這個目錄主要是存放需要讓tomcat去管理的資源的目錄。項目war包可以放在此處,然後啟動tomcat。那麼項目就可以運行了。
g.work---->這個目錄主要存放的是tomcat對jsp編譯完後的原文件以及class文件。當程序修改,但是沒有任何修改效果,可以刪除項目內容再試。
9.關於tomcat項目部署的方式
a.放到webapps目錄下
靜態部署:
Tomcat的Webapps目錄是Tomcat默認的應用目錄,當服務器啟動時,會加載所有這個目錄下的應用。所以可以將JSP程序打包成一個 war包放在目錄下,服務器會自動解開這個war包,並在這個目錄下生成一個同名的文件夾。一個war包就是有特性格式的jar包,它是將一個web程序的所有內容進行壓縮得到。具體如何打包,可以使用許多開發工具的IDE環境,如Eclipse等。也可以用 cmd 命令:jar -cvf mywar.war myweb
webapps這個默認的應用目錄也是可以改變。打開Tomcat的conf目錄下的server.xml文件,找到下面內容,將appBase修改即可。
<Host name="localhost" appBase="webapps" unpackWARs="true" autoDeploy="true" xmlValidation="false" xmlNamespaceAware="false">
b.修改server.xm 的host節點。添加<Context path="/訪問資源目錄" docBase="e:/xxx"/>
在Tomcat的配置文件中,一個Web應用就是一個特定的Context,可以通過在server.xml中新建Context裡部署一個JSP應用程序。打開server.xml文件,在Host標簽內建一個Context,內容如下。
<Context path="/hello" docBase="D:\ workspace\hello\WebRoot" debug="0" privileged="true"> </Context>
或者
<Context path="/myapp" reloadable="true" docBase="D:\myapp" workDir="D:\myapp\work"/>
或者
<Context path="/sms4" docBase="D:\workspace\sms4\WebRoot"/>
說明:
path是虛擬路徑;頁面訪問時需要;
docBase 是應用程序的物理路徑;
workDir 是這個應用的工作目錄,存放運行時生成的與這個應用相關的文件;
debug 則是設定debug level, 0表示提供最少的信息,9表示提供最多的信息;
privileged設置為true的時候,才允許Tomcat的Web應用使用容器內的Servlet;
reloadable 如果為true,則tomcat會自動檢測應用程序的/WEB-INF/lib 和/WEB-INF/classes目錄的變化,自動裝載新的應用程序,可以在不重起tomcat的情況下改變應用程序,實現熱部署;
antiResourceLocking 和antiJARLocking 熱部署是需要配置的參數,默認false避免更新了某個webapp,有時候Tomcat並不能把舊的webapp完全刪除,通常會留下WEB-INF/lib下的某個jar包,必須關閉Tomcat才能刪除,這就導致自動部署失敗。設置為true,Tomcat在運行對應的webapp時,會把相應的源文件和jar文件復制到一個臨時目錄裡。
d.在conf目錄下找到或者是新建文件夾(Catalina---->localhost----->訪問資源的項目名稱.xml-----><Context....../>),在conf目錄中,新建 Catalina\localhost目錄,在該目錄中新建一個xml文件,名字不可以隨意取,要和path後的那個名字一致,按照下邊這個path的配置,xml的名字應該就應該是hello(hello.xml),該xml文件的內容為:
<Context path="/hello" docBase="E:\workspace\hello\WebRoot" debug="0" privileged="true"></Context>
10.訪問項目地址
訪問服務器的資源的格式:協議:地址(域名):端口/資源目錄/資源名稱
URL:Uniform Resource Locator(統一資源定位符) 協議:地址:端口/資源目錄/資源名稱
URI:Uniform Resource Identifier(統一資源標識符) 資源目錄/資源名稱
11.tomcat用戶的配置
使用Tomcat以後,出現上面的頁面後,點擊"Tomcat Manager"的時候要輸入賬號和密碼的時候就得進行tomcat-users.xml的配置來適合自己的快捷和安全的登錄!
<?xml version='1.0' encoding='utf-8'?> <tomcat-users> <role rolename="tomcat"/> <role rolename="manager"/> <role rolename="admin"/> <user username="admin" password="" roles="tomcat,admin,manager"/> </tomcat-users>
tomcat-users.xml文件包含了所有Tomcat服務器的注冊用戶,其中有role、user兩種信息。
1.role參數:Tomcat中保存了一些用戶權限,也就是角色,比如admin、Tomcat等;
2.User參數:這個數據項中包含了諸如用戶名、用戶密碼、用戶權限、用戶說明等數據。
12.http協議
http請求由三部分組成,分別是:請求行、消息報頭、請求正文
GET 請求獲取Request-URI所標識的資源;
POST 在Request-URI所標識的資源後附加新的數據;
HEAD 請求獲取由Request-URI所標識的資源的響應消息報頭;
PUT 請求服務器存儲一個資源,並用Request-URI作為其標識;
DELETE 請求服務器刪除Request-URI所標識的資源;
TRACE 請求服務器回送收到的請求信息,主要用於測試或診斷;
CONNECT 保留將來使用;
OPTIONS 請求查詢服務器的性能,或者查詢與資源相關的選項和需求。