服務(wù)器
tomcat介紹:
web服務(wù)器只能完成靜態(tài)資源的請(qǐng)求;
web容器能夠進(jìn)行動(dòng)態(tài)資源的請(qǐng)求;
tomcat就是一個(gè)最簡(jiǎn)單的web容器,是apache的jarkata項(xiàng)目的子項(xiàng)目。
tomcat 7.0.x支持servlet 3.0規(guī)范,因此建議使用7.0.x;
tomcat有兩種版本:
(1)二進(jìn)制版本:解壓后需要配置環(huán)境變量,建議使用此版本。
(2)服務(wù)版本:可執(zhí)行文件,安裝好后會(huì)在系統(tǒng)中注冊(cè)服務(wù).
tomcat目錄介紹:
tomcat有幾個(gè)文件夾:
(1)bin:存放可執(zhí)行命令,比如開(kāi)啟和關(guān)閉tomcat:startup.bat;
(2)conf:配置文件。
(3)webapps:發(fā)布web應(yīng)用。
(4)lib:庫(kù)文件,可以通過(guò)此目錄擴(kuò)展,比如放置數(shù)據(jù)庫(kù)驅(qū)動(dòng)在此文件中。
(5)work:臨時(shí)的java或class文件。
tomcat基本配置
注意:tomcat不要放在中文目錄或帶有空格的目錄中;
一、配置環(huán)境變量
1.配置 java_home :c:\\\\java\\\\jdk1.6.0_27
2.配置 catalina_home:c:\\\\apache-tomcat-7.0.6(這個(gè)環(huán)境變量可以不配)
這里以我的配置為例,根據(jù)自己的安裝位置調(diào)整;
catalina_home配置了以后,當(dāng)出現(xiàn)如圖情況:
當(dāng)點(diǎn)擊c:\\\\tomcat\\\\bin\\\\startup.bat后 啟動(dòng)的是d:\\\\tomcat
二、配置端口
默認(rèn)為8080,可以在tomcat/conf/server.xml中的配置.
<connector port=8888 protocol=http/1.1 //此處可以把8888換成任意端口. connectiontimeout=20000 redirectport=8443 /> 配置完這些后已經(jīng)可以使用tomcat了,在瀏覽器中輸入http://localhost:8888后彈出如下頁(yè)面:
端口被占用問(wèn)題:
如果有其他軟件占用了此端口,則會(huì)導(dǎo)致tomcat不能啟動(dòng);
解決方案:
用fport等軟件查看端口使用情況,然后 kill 此進(jìn)程即可;
三、配置用戶角色
為了在頁(yè)面中管理部署web應(yīng)用,必須要有用戶,因此需要配置新用戶和密碼(原本無(wú)用戶)。
在tomcat/conf/tomcat-users.xml中的<tomcat-users></tomcat-users>中添加如下語(yǔ)句:
<role rolename=manager-gui/> <user username=admin password=12345 roles=manager-gui/> //用戶名為admin,密碼為12345 jaas:java authentication authorization service 即java驗(yàn)證授權(quán)服務(wù)
如圖可以利用前面設(shè)定的用戶名和密碼登陸:
四、配置部署web應(yīng)用路徑
1.可以在webapps目錄中進(jìn)行部署,即直接將整個(gè)web應(yīng)用復(fù)制到webapps下。
2.可以在conf/catalina/localhost目錄中創(chuàng)建一個(gè)test.xml,在此文件中添加:
<?xml version=1.0 encoding=gbk?> <context docbase=f:/publish debug=0 privileged=true> //docbase是路徑,可以自己調(diào)整 </context> 這樣可以輸入http://localhost:8080/test訪問(wèn),注意這個(gè)test就是xml文件的名字。
比如xml文件的名字為x.xml,則輸入http://localhost:8888/x
還需要在f:\\\\publish,也就是web應(yīng)用的目錄新建一個(gè)web-inf文件夾,在此文件夾中新建一個(gè)web.xml,為了偷懶,可以把tomcat/webapps/web-inf/web.xml 的文件黏貼到f:\\\\publish\\\\web-inf中.
3.可以在網(wǎng)頁(yè)中部署,如圖所示:
可以通過(guò)war包或者一個(gè)路徑部署,war包可以從eclipse中導(dǎo)出。
常見(jiàn)注意點(diǎn):
1.設(shè)置端口號(hào):在conf/server.xml中修改。
2.配置虛擬目錄:在conf/server.xml中最后添加<context path = …. docbase = …/>,
比如<context path = /test docbase = d:\\\\test/>,則瀏覽器中輸入http://localhost:8080/test則可以運(yùn)行d:\\\\test的內(nèi)容。
注:在配置完后還要在conf/web.xml中
<param-name>listings</param-name><param-value>false</param-value>改成true3.配置默認(rèn)首頁(yè):在conf/web.xml中最后
<welcome-file>index.html</welcome-file>說(shuō)明默認(rèn)為index.html,因此如果輸入http://localhost:8080/test則會(huì)自動(dòng)調(diào)用index.html.
4.每個(gè)web應(yīng)用中都需要web-inf和web.xml文件,最簡(jiǎn)單的辦法就是去tomcat主目錄下的webapps/root/的web-inf拷貝到你所需要的web應(yīng)用文件夾下。
5.第一次用戶請(qǐng)求某個(gè)jsp會(huì)比較慢。
原因:jsp首先會(huì)轉(zhuǎn)換成java文件,然后再編譯成class文件,最后才執(zhí)行,這些java和class的文件都在tomcat主目錄的work文件夾下。
http常見(jiàn)狀態(tài):
(1)404錯(cuò)誤:客戶路徑不正確造成。
(2)500錯(cuò)誤:服務(wù)器內(nèi)部錯(cuò)誤。
因此總的來(lái)說(shuō):
(1)2##:請(qǐng)求成功。
(2)4##:客戶端錯(cuò)誤。
(3)5##:服務(wù)器錯(cuò)誤。
jsp文件簡(jiǎn)介:html java代碼。
<%%u3002。。%>中嵌入java代碼。
在html中<form>的action屬性可以設(shè)置服務(wù)器處理請(qǐng)求的jsp文件,例如:
<form action = hello.jsp method = post>接下來(lái)是一個(gè)最簡(jiǎn)單的應(yīng)用tomcat的程序,用戶輸入任意字符串比如world,服務(wù)器返回hello加上字符串,比如hello,world.
<html> <head> <title>demo</title> </head> <body> 輸入內(nèi)容: <form action = input.jsp method = post> <input type = text name = info/> <input type = submit value = 顯示/> </form> </body> </html> jsp文件:
<html> <head> <title>demo</title> </head> <body> <% string str = request.getparameter(info); str = hello, str; out.println(<h2> str </h2>); %> </body> </html> web應(yīng)用目錄布局建議:
主目錄 | |-web-inf | |- web.xml | |- classes | | |-放置class文件 | |- lib | | |-放置第三方j(luò)ar包 | |- src | | |-存放源文件 |-存放jsp、html | |-image | |-存放圖片