孫庚(javagen@gmail.com)
軟件工程師
2004-10-22
[文章摘要]詳細介紹了tomcat在windows上的配置和基本使用,適合初學(xué)者。
關(guān)鍵詞: tomcat 基礎(chǔ)
1. 系統(tǒng)環(huán)境:windows2000。
2. 需要軟件:
Tomcat安裝程序,這里我用的是jakarta-tomcat-4.1.30-LE-jdk14.exe
JDK安裝程序,這里我用的是j2sdk-1_4_2_04-windows-i586-p.exe
3. 先安裝JDK:
安裝過程很簡單,這個JDK版本很霸道,沒有提示我安裝到哪個路徑,直接就裝在C:\j2sdk1.4.2_04了,不過沒有關(guān)系。
4.安裝Tomcat:
也很簡單,剛開始讓你確認JDK安裝的目錄,估計不會認錯,點確認就可以了。選了安裝路徑就下一步安裝,在裝到98%的時候他會提示你輸入Tomcat的超級管理員密碼,輸入,下一步。在此要保證你機器的8080端口和8005端口不被其他服務(wù)占用。
到現(xiàn)在,你的Tomcat已經(jīng)可以運行起來了,你可以去[開始]菜單的程序里面找到“Apache Tomcat 4.1“程序組。點里面的”Start Tomcat“,彈出一個cmd窗口,內(nèi)容如下:
Starting service Tomcat-StandaloneApache Tomcat/4.1.30-LE-jdk14
2004-10-27 17:45:29 org.apache.struts.util.PropertyMessageResources <init>
信息: Initializing, config=‘org.apache.struts.util.LocalStrings‘, returnNull=true
2004-10-27 17:45:29 org.apache.struts.util.PropertyMessageResources <init>
信息: Initializing, config=‘org.apache.struts.action.ActionResources‘, returnNull=true
2004-10-27 17:45:30 org.apache.struts.util.PropertyMessageResources <init>
信息: Initializing, config=‘org.apache.webapp.admin.ApplicationResources‘, returnNull=true
Starting service Tomcat-Apache
Apache Tomcat/4.1.30-LE-jdk14
關(guān)閉Tomcat用[開始]->程序->Apache tomcat->stop tomcat
好了,基本配置結(jié)束。
你可以去看看tomcat安裝目錄(我的tomcat的安裝目錄在c:\tomcat),目錄結(jié)構(gòu)和功能簡要如下:
bin 包含啟動/關(guān)閉腳本和一下系統(tǒng)性的運行腳本
common 包含tomcat的一些包文件,以后用到其他的包可以直接放進去,如連接oracle的jdbc驅(qū)動等。
conf 包含不同的配置文件, 包括 server.xml(Tomcat的主要配置文件)和為不同的Tomcat配置的web應(yīng)用設(shè)置缺省值的文件web.xmllogs 日至文件
doc 包含各種Tomcat文檔
lib 包含Tomcat使用的jar文件.unix平臺此目錄下的任何文件都被加到Tomcat的classpath中
server 放了tomcat 通過web方式管理系統(tǒng)的程序,可通過http://loaclhost:8080/admin訪問
shared (暫時還不知道)
temp 用于jvm放臨時文件
webapps 包含tomcat的例程和歡迎頁面,可通過http://loaclhost:8080/訪問
5. 建立第一個項目
如果你在安裝Tomcat過程中在選擇安裝那些組建時選擇默認安裝,那么tomcat將自動給你放進去一些例程,加上tomcat用于web管理的兩個項目,你到Tomcat的webapps目錄,你會看到:
C:\tomcat\webapps>dir
Volume in drive C has no label.
Volume Serial Number is 8C08-1B74
Directory of C:\tomcat\webapps
2004-10-27 10:22 <DIR> .
2004-10-27 10:22 <DIR> ..
2004-01-25 21:36 697 admin.xml
2004-10-24 20:16 <DIR> examples
2004-01-25 21:36 435 manager.xml
2004-10-24 20:16 <DIR> ROOT
2004-10-24 20:16 <DIR> tomcat-docs
2004-10-24 20:16 <DIR> webdav
2 File(s) 1,132 bytes
6 Dir(s) 2,025,648,128 bytes free
可以看到Tomcat已經(jīng)建立了一些項目,如admin.xml,manager.xml,root目錄等,怎么方式還不一樣呀?又有xml文件,又有目錄,下面我來介紹tomcat配置項目的幾種方式。
Tomcat默認的項目目錄就是webapps,就相當(dāng)于IIS的web根目錄,配置項目有幾種方式(記得配置好了要重新啟動tomcat):
方式一,在webapps下直接建立目錄,如你想建立一個項目在http://localhost:8080/FristProject/上訪問,你可以直接在這個目錄下建立FristProject文件夾;
方式二,在webapps下建立xml文檔,如你想建立FristProject這個項目,可以在這個目錄下建立FristProject.xml,然后編輯這個文檔如下:
<Context path="/FristProject" docBase="e:\javaweb" ebug="0" privileged="true"></Context>
Path=””放你想在http://localhost:8080上要訪問這個項目的路徑,這里寫成/FristProject就是要在http://localhost:8080/FristProject上訪問這個項目。
DocBase=””放你項目文檔的本地路徑,這里寫成了e:\javaweb(這個目錄在你重新啟動tomcat之前應(yīng)該是已經(jīng)存在的);
方式三,編輯tomcat的安裝目錄下的conf/server.xml,找到</host>標(biāo)簽,在</host>上面建立自己的項目,如下:
<!-- Tomcat Root Context -->
<!-- <Context path="" docBase="ROOT" debug="0"/> -->
……
<!-- start my frist project -->
<Context path="/FristProject" docBase="e:\javaweb" ebug="0" privileged="true"></Context>
<!-- stop my frist project -->
</Host>
……
以上的配置工作很簡單,很多的參數(shù)都沒有寫,建議大家看看tomcat的配置文檔,如出現(xiàn)錯誤所指向的文件,默認首頁等,這里就不介紹了。
重新啟動tomcat后你可以在你的本地路徑(docBase所指向的目錄)建立一個index.html文件,內(nèi)容略,看看 http://localhost:8080/FristProject/index.html能否打開,如果可以正常瀏覽,說明沒問題了。
自己的項目建立好了,很簡單吧?
6. 跑跑Jsp:
在你建立好的本地路徑這里是e:\javaweb建立index.jsp,編輯它:
<html>
<body>
<title>FristJsp</title>
<%String aa = "my frist jsp";%>
<%=aa%>
<br>
<center> Now time is: <%=new java.util.Date()%> </center>
</body>
</html>
保存后,在http://localhost:8080/FristProject/index.jsp ,看看能不能訪問?正確的應(yīng)該是:
my frist jsp
Now time is:(你的系統(tǒng)當(dāng)前時間)
看看你的tomcat安裝目錄下的work\Standalone\localhost\FristProject下,應(yīng)該有兩個文件:
index_jsp.class
index_jsp.java
因為tomcat會在第一次運行jsp的時候編譯.jsp文件,放在work下。
7. 配配JavaBean:
tomcat對jsp以外的java程序就不是自動編譯了,如:javabean,servlet都不行,這里先介紹如何配置編譯環(huán)境:
右鍵點[我的電腦]->屬性->高級->環(huán)境變量,系統(tǒng)變量一欄點[新建]變量名:CLASSPATH變量值:.\;C:\j2sdk1.4.2_04\lib\dt.jar;C:\j2sdk1.4.2_04\lib\tools.jar;C:\tomcat\common\lib\servlet.jar(其中C:\j2sdk1.4.2_04用你的jdk安裝路徑,c:\tomcat寫你tomcat的安裝路徑)保存,再建立一個:變量名:Path變量值:.\;C:\j2sdk1.4.2_04\bin(其中C:\j2sdk1.4.2_04為你jdk安裝路徑)如果你path變量已經(jīng)建立,就編輯他,加上;C:\j2sdk1.4.2_04\bin,保存。之后重新啟動計算機使環(huán)境變量生效。
在你FristProject的本地目錄下建立WEB-INF\classes\com,我的是E:\javaweb\WEB-INF\classes\com,在com下建立TestBean.java,編輯內(nèi)容如下:
package com;
public class TestBean
{
public String getName()
{
String aa;
aa = "Javagen";
return aa;
}
}
然后進入command狀態(tài):
C:\Documents and Settings\Administrator>e:
E:\>cd \javaweb\WEB-INF\classes\com
E:\javaweb\WEB-INF\classes\com>javac TestBean.java
E:\javaweb\WEB-INF\classes\com>
好了編譯結(jié)束,你可以看到在E:\javaweb\WEB-INF\classes\com下多了TestBean.calss這個文件。
在E:\javaweb\下建立testbean.jsp文件,編輯如下:
<jsp:useBean id="TestBean" class="com.TestBean" scope="page" />
<html>
<body>
<center> my name is: <%=TestBean.getName()%> </center>
</body>
</html>
好了,訪問你的http://localhost:8080/FristProject/testbean.jsp,看看?
友情提示:在tomcat下使用javabean必須放在classes/包名/,包名可以是任何英文(tomcat對這個有規(guī)范的),不能在classes下直接放javabean文件!這個是我血的教訓(xùn)。
8. 玩玩Servlet:
在E:\javaweb\WEB-INF\classes\com\下建立文件HelloWorld.java,編輯如下:
package com;
import java.io.*;
import javax.servlet.*;
import javax.servlet.http.*;
public class HelloWorld extends HttpServlet
{
public void doGet(HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException
{
response.setContentType("text/html");
PrintWriter out = response.getWriter();
out.println("<html>");
out.println("<head>");
out.println("<title>Hello World!</title>");
out.println("</head>");
out.println("<body>");
out.println("<h1>Hello World!</h1>");
out.println("</body>");
out.println("</html>");
}
}
進入cmd窗口:
E:\javaweb\WEB-INF\classes\com>javac TestBean.java
E:\javaweb\WEB-INF\classes\com>
再建立E:\javaweb\WEB-INF\web/xml,編輯如下:
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN" "http://java.sun.com/dtd/web-app_2_3.dtd">
<web-app>
<display-name>Fristproject</display-name>
<description>Fristproject </description>
<!-- servlet -->
<servlet>
<servlet-name>HelloWorld</servlet-name>
<display-name>HelloWorld</display-name>
<servlet-class>com.HelloWorld</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>HelloWorld</servlet-name>
<url-pattern>/HelloWorld</url-pattern>
</servlet-mapping>
</web-app>
其中:
<servlet>聲明一個servlet
<servlet-name>HelloWorld</servlet-name> servlet的名字
<display-name>HelloWorld</display-name> servlet的運行名
<servlet-class>com.HelloWorld</servlet-class> servlet的路徑
</servlet>
<servlet-mapping> 在應(yīng)用上聲名servlet的
<servlet-name>HelloWorld</servlet-name> servlet的名字
<url-pattern>/HelloWorld</url-pattern> servlet的運行路徑 就是http://localhost:8080/FristProject/HelloWorld
</servlet-mapping>
重新啟動tomcat
在http://localhost:8080/FristProject/HelloWorld看看?
9. 總結(jié):
本文中有兩條主線:
jdk的配置和java環(huán)境變量的配置:
在安裝好jdk后,一些基于jdk的程序會自動尋找jdk路徑,以便調(diào)用java的各個包,比方說:tomcat,eclipse等,另有些程序不能自己去找到j(luò)dk路徑,所以就要在環(huán)境變量中配置,如:path中加入jdk\bin的路徑,classpath中寫入運行程序的包路徑等,這些在我們編輯javabean和servlet時已經(jīng)用到了(一些javaIDE會自動編譯你的.java文件,如Jbuilder,eclipse,resion等)。
tomcat的配置:
關(guān)鍵是配置web.xml(用于對某個tomcat項目進行配置)和server.xml(對tomcat整體配置)兩個文件。
對于每個具體實現(xiàn),會有不同的節(jié)點加進.xml文件去(這些xml節(jié)點并不一定是tomcat本身的).
要學(xué)習(xí)java就要不斷和xml打交道,建議多了解一下xml的資料.
參考資料:
Tomcat中文手冊
http://www.linuxdby.com/articlesdisplay.php?newsid=63
2004.11.19第三次修改
作者信息
姓名: 孫庚
聯(lián)系方式: javagen@gmail.com
簡介: 軟件工程師,熟悉linux oracle php ,J2EE研習(xí)者。
BLOG:
www.donews.net/tssungeng/ (原創(chuàng)作品,轉(zhuǎn)載請注明作者)