Tomcat配置與JSP運行

Tomcat5.5的基本配置詳細說明
Tomcat是apache的一個子項目,也是一個開源項目,主要是用於J2EE web容器,由於是一個開源項目,在學習與開發測試中經常被用到,(而目前商業最爲經常用到的web服務器是BEA WebLogic)。在開源項目中,鼎鼎大名的apache基金會大家肯定有所瞭解,網站鏈接:http://www.apache.org/,而旗下的Jakarta Project 主要包括了Tomcat、Alexanda等Java項目,有興趣者可看:http://jakarta.apache.org/。考慮到各位學習者的機器配置與學習成本問題,這裏選了Tomcat作爲我們學習與測試J2EE的環境以下爲一些基本配置:

 一、先從網上下載tomcat

目前最新版本是5.57,下載地址是:http://apache.freelamp.com/jakarta/tomcat-5/v5.5.7/bin/jakarta-tomcat-5.5.7.zip,下載安裝完後,在安裝目錄下有以下目錄,主要介紹一下conf、common、webapps:

如果你現在等不急了,就想體驗一下tomcat的魅力的話,把你的網頁拷到webapps/ROOT目錄下,然後再通過瀏覽器訪問即可,默認如下格式:

	http://localhost:8080/<你的網頁>
1)webapps文件夾主要用於web應用程序部署,比如你可以把你的應用程序包,如war文件拷到該目錄下,容器會自動部署。
2)conf文件夾下主要是放置tomcat的服務器的相關配置文件
3)common文件夾主要是對容器全局變量的文件放置地方,如common/lib下就是放置一些需要全文配置的文件包。

 二、j2ee的相關部署規範:

一般來說作爲一個符合規範的web程序,會包括以下文件夾和文件:/WEB-INF/(主要是放置一些配置文件與不希望外部程序訪問的隱私文件),在網絡上是不允許訪問該文件夾的,如當你輸入以下http://localhost:8080/WEB-INF/的話就會出現錯誤。

在WEB-INF文件夾下有一個web.xml文件,這是對當前應用程序的相關設置,資源尋找等,/WEN-INF/文件夾下有個classes子文件夾,該文件夾是應用程序的根路徑(等於是classpath的路徑),/WEN-INF下還要有個lib文件夾,主要是放置需要引入的包,應用程序導入的包先從這裏開始尋找,其次到容器的全局路徑下$TOMCAT_HOME/common/lib下尋找。以下是基本文件夾:

		/tomcat
		/common
		/lib
		/classes
		/conf
		/webapps
		/ROOT
		web.xml
		/WEB-INF
		/lib
		/classes
		/你部署的程序包
		web.xml
		/WEB-INF
		/lib
		/classes
 三、容器的配置(server.xml)

到主目錄/conf文件夾下server.xml文件是對web服務器的配置:
以下是一些常見的設置,http端口設置,找到以下:
<Connector port="8080" maxThreads="150" minSpareThreads="25" maxSpareThreads="75"
enableLookups="false" redirectPort="8443" acceptCount="100"
connectionTimeout="20000" disableUploadTimeout="true" />
把8080端口改爲你喜歡使用的端口,如常見的80,以後你就可以利用該端口進行訪問你的網站了:http://localhost:80 期中80是默認的,可以不寫,其他的一下配置,可以參觀相關的內容,入門就是這麼簡單。
web.xml爲servlet的一些相關配置,可以參照一下規範。可以看我寫的其他文章。
繼續說一下server.xml文件的設置,找到以下:

	<Host name="localhost" appBase="webapps"
	unpackWARs="true" autoDeploy="true"
	xmlValidation="false" xmlNamespaceAware="false">
	....
	</Host>
在他們之間可以添加一個<Context>元素,如:
	<Context path="/axis" reloadable="true" docBase="axis" workDir="webapps/axis/work"/>
其中屬性path代表是網絡訪問的上下文路徑,reloadable表示可以在運行時在classes與lib文件夾下自動加載類包,docBase屬性表示你的應用程序的路徑,在windows在如:docBase="E:\Sun\axis",workDir表示是緩存文件的放置地點,可以方便跨平臺移植時不用重編譯。這樣,你的應用程序就可以放到硬盤上的任意地方了。還有一個方法可以做到這點(推薦):編寫一個xml文件,然後放到tomcat目錄/conf/Catalina/<相應的網站>/目錄下,如:現在我有個應用程序ACMEWeb,我編了一個文件ACMEWeb.xml內容如下:
	<Context path="/ACMEWeb" reloadable="true"
   		docBase="E:\eclipseproject\ACMEWeb" workDir="E:\eclipseproject\ACMEWeb\work" />
把它放到了tomcat目錄/conf/Cataline/localhost下,
在瀏覽器打開http://localhost/ACMEWeb 就會轉向我放在E:\eclipseproject\ACMEWeb下的程序了。

Tomcat+JSP經典配置實例
Tomcat下配置jsp、servlet、bean

 第一步:下載j2sdk和tomcat:到sun官方站(http://java.sun.com/j2se/1.5.0/download.jsp)下載j2sdk,注意下載版本爲Windows Offline Installation的SDK,同時最好下載J2SE 1.5.0 Documentation,然後到tomcat官方站點(http://jakarta.apache.org/site/downloads/downloads_tomcat-5.cgi)下載tomcat(下載最新5.5.9版本的tomcat)


 第二步:安裝和配置你的j2sdk和tomcat:執行j2sdk和tomcat的安裝程序,然後按默認設置進行安裝即可。

1.安裝j2sdk以後,需要配置一下環境變量,在我的電腦 -> 屬性 -> 高級 -> 環境變量 -> 系統變量中添加以下環境變量(假定你的j2sdk安裝在c:\j2sdk1.5.0):

JAVA_HOME=c:\j2sdk1.5.0
ClassPath=.;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar;
(注".;"一定不能少,因爲它代表當前路徑)
Path=%JAVA_HOME%\bin

接着可以寫一個簡單的java程序來測試J2SDK是否已安裝成功:

		public class Test{
			public static void main(String args[]){
			System.out.println("This is a test program.");
			}
		}
將上面的這段程序保存爲文件名爲Test.java的文件。

然後打開命令提示符窗口,cd到你的Test.java所在目錄,然後鍵入下面的命令

javac Test.java
java Test

此時如果看到打印出來This is a test program.的話說明安裝成功了,如果沒有打印出這句話,你需要仔細檢查一下你的配置情況。

2.安裝Tomcat後,在我的電腦 -> 屬性 -> 高級 -> 環境變量 -> 系統變量中添加以下環境變量(假定你的tomcat安裝在c:\tomcat):

CATALINA_HOME=c:\tomcat
CATALINA_BASE=c:\tomcat

然後修改環境變量中的classpath,把tomat安裝目錄下的common\lib下的(可以根據實際追加)servlet.jar追加到classpath中去,修改後的classpath如下:

ClassPath=.;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar;%CATALINA_HOME%\common\lib\servlet.jar;

接着可以啓動tomcat,在IE中訪問http://localhost:8080,如果看到tomcat的歡迎頁面的話說明安裝成功了。


 第三步:建立自己的jsp app目錄

1.到Tomcat的安裝目錄的webapps目錄,可以看到ROOT,examples, tomcat-docs之類Tomcat自帶的的目錄;

2.在webapps目錄下新建一個目錄,起名叫myapp;
3.myapp下新建一個目錄WEB-INF,注意,目錄名稱是區分大小寫的;
4.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>My Web Application</display-name>   <!--  顯示內容標題名  -->
		<description>A application for test</description>   <!--  描述名  -->
	</web-app>
5.在myapp下新建一個測試的jsp頁面,文件名爲index.jsp,文件內容如下:
	<html>
	<body>
	<center>
		Now time is: <%=new java.util.Date()%>
	</center>
	</body>
	</html> 
6.重啓Tomcat

7.打開瀏覽器,輸入http://localhost:8080/myapp/index.jsp 看到當前時間的話說明就成功了。


 第四步:建立自己的Servlet:

1.用你最熟悉的編輯器(建議使用有語法檢查的java ide)新建一個servlet程序,文件名爲Test.java,文件內容如下:

	package test;
	import java.io.IOException;
	import java.io.PrintWriter;
	import javax.servlet.ServletException;
	import javax.servlet.http.HttpServlet;
	import javax.servlet.http.HttpServletRequest;
	import javax.servlet.http.HttpServletResponse;
	public class Test extends HttpServlet {
		protected void doGet(HttpServletRequest request, HttpServletResponse response)
		throws ServletException, IOException {
			PrintWriter out=response.getWriter();
			out.println("<html><body><h1>This is a servlet test.</h1></body></html>");
			out.flush();
		}
	}
2 .編譯
將Test.java放在c:\test下,使用如下命令編譯:C:\Test>javac Test.java
然後在c:\Test下會產生一個編譯後的servlet文件:Test.class

3 .將結構test\Test.class剪切到%CATALINA_HOME%\webapps\myapp\WEB-INF\classes下,也就是剪切那個test目錄到classes目錄下,如果classes目錄不存在,就新建一個。 現在webapps\myapp\WEB-INF\classes下有test\Test.class的文件目錄結構

4 .修改webapps\myapp\WEB-INF\web.xml,添加servlet和servlet-mapping

編輯後的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>My Web Application</display-name>   <!--  顯示內容標題名  -->
		<description>A application for test</description>   <!--  描述名  -->
	<servlet>
		<servlet-name>Test</servlet-name>   <!--  容器爲程序取的別名  -->
		<display-name>Test</display-name>   <!--  顯示內容標題名  -->
		<description>A test Servlet</description>   <!--  描述名  -->
		<servlet-class>test.Test</servlet-class>   <!--  描物理文件夾classes裏的類名  -->
	</servlet>
	<servlet-mapping>
		<servlet-name>Test</servlet-name>   <!--  容器爲程序取的別名  -->
		<url-pattern>/Test</url-pattern>   <!--  URL地址訪問時輸入的名稱  -->
	</servlet-mapping>
	</web-app>
這段話中的servlet這一段聲明瞭你要調用的Servlet,而servlet-mapping則是將聲明的servlet"映射"到地址/Test上

5 .好了,重啓動Tomcat,啓動瀏覽器,輸入http://localhost:8080/myapp/Test 如果看到輸出This is a servlet test就說明編寫的servlet成功了。

注意:修改了web.xml以及新加了class,都要重啓Tomcat 


 第五步:建立自己的Bean:

1.用你最熟悉的編輯器(建議使用有語法檢查的java ide)新建一個java程序,文件名爲TestBean.java,文件內容如下:

	package test;
	public class TestBean{
		private String name = null;
		public TestBean(String strName_p){
			this.name=strName_p;
		} 
		public void setName(String strName_p){
			this.name=strName_p;
		}  
		public String getName(){
			return this.name;
		} 
	}
2 .編譯
將TestBean.java放在c:\test下,使用如下命令編譯:C:\Test>javac TestBean.java
然後在c:\Test下會產生一個編譯後的bean文件:TestBean.class

3 .將TestBean.class文件剪切到 %CATALINA_HOME%\webapps\myapp\WEB-INF\classes\test下,

4 .新建一個TestBean.jsp文件,文件內容爲:

	<%@ page import="test.TestBean" %>
	<html>
	<body>
	<center>
	<%
	TestBean testBean=new TestBean("This is a test java bean.");
	%>
	Java bean name is: <%=testBean.getName()%>
	</center>
	</body>
	</html>
5 .好了,重啓Tomcat,啓動瀏覽器,輸入http://localhost:8080/myapp/TestBean.jsp 如果看到輸出Java bean name is: This is a test java bean.就說明編寫的Bean成功了。

這樣就完成了整個Tomcat下的jsp、servlet和javabean的配置。接下來需要做的事情就是多看書、多讀別人的好代碼,自己多動手寫代碼以增強自己在這方面開發的能力了。

jvm應填寫到c:\j2sdk\bin


 JSP環境配置心得

首先要說的是,使用jdk+tomcat完全可以配置我們的jsp服務器,不再需要其實任何東東,有很多文章介紹了Apache,其實根本用不着,一般的學習調試tomcat完全可以勝任了。

安裝jdk後,tomcat在安裝之前會自動找到jdk的安裝路徑,一路點擊"下一步",經過一段時間的文件複製,最後"close",完成comcat的安裝。

您最好去下載一個版本較高的tomcat,比如4.1以上的,因爲它不需要設置太多的系統變量,右擊我的電腦 -> 屬性 -> 高級 -> 環境變量 -> 系統變量,新建一個TOMCAT_HOME,值設置成你的tomcat所在的路徑,比如:D:\Program Files\Apache Group\Tomcat 5.5,配置完成。

從開始菜單中找到tomcat選項,一般打開順序是:開始 -> 程序 -> Apache Tomcat 5.5,選擇"Start Tomcat",讓jsp服務器開始運行,此時會打開一個類似Dos的窗口,會顯示一些相關的信息。

使用Tomcat運行JSP文件
有些網友不知道怎麼才能運行自己的JSP文件,我在這裏簡單介紹一下,給大家提供一點參考:

1. 下載並安裝tomcat。下載地址:http://jakarta.apache.org/tomcat

2. 編寫自己的JSP網頁和Java對象。

3. 配置自己的Web應用。配置方法:
TOMCAT_HOME/conf/server.xml文件中加入一行:

	<Content path="/appName" docBase="webapps/appName" debug="0" reloadable="true"/>
其中,TOMCAT_HOME是tomcat的主目錄,appName是你的Web應用的名稱。

4. 將你的jsp文件、html文件、image文件拷貝到TOMCAT_HOME/webapps/appName目錄下。

5. 編譯你的java文件。

6. 將編譯好的class文件拷貝到TOMCAT_HOME/webapps/WEB-INF/classes目錄下。也可將class文件打包成jar文件放到TOMCAT_HOME/webapps/WEB-INF/lib目錄下。

7. ALL IS OK! 你可以在你的瀏覽器上看到你的成果了:
http://localhost:8080/appName/youjsp.jsp
其中,appName是你配的Web應用名稱,youjsp.jsp是你編寫的jsp文件名。

 
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章