環(huán)境配置一向是一個(gè)比較煩的一件工作!本文的目的是要輕松為你搞定安裝和配置SERVLET和JSP的執(zhí)行環(huán)境。
首先,到j(luò)ava.apache.org去下載一個(gè)tomcat3.1,tomcat3.2。筆者用的是tomcat3.1。下載的是一個(gè)ZIP文件。將它extract到一個(gè)目錄下面。比如c:\下面。在c盤下面會(huì)出現(xiàn)一個(gè)jakatar-tomcat的目錄。你可以將這個(gè)目錄改個(gè)名字。我將目錄名改為tomcat,F(xiàn)在打開c:\tomcat\conf目錄下的server.xml文件。找到ContextManager這個(gè)tag,你將可以看到:
因?yàn)閠omcat可以作為一個(gè)獨(dú)立的服務(wù)器使用,所以有它自己的port號(hào)。在這里可以修改它缺省的port號(hào)。注意要修改為一個(gè)你機(jī)器上還沒有被占用的port號(hào)。我改成9000。
現(xiàn)在到c:\tomcat\bin目錄下面,你可以看到一個(gè)startup.bat的批處理文件。在執(zhí)行這個(gè)文件前,如果你用的是JDK1.2.1或JDK1.2.2的話,請(qǐng)將JDK_HOME\LIB\tools.jar這個(gè)文件放到classpath中去。
(注:設(shè)置classpath的方法:右鍵單擊“我的電腦”à 選擇屬性à 環(huán)境,如果還沒有classpath這個(gè)環(huán)境變量,添加一個(gè),如果有了在它的基礎(chǔ)上修改,加上JDK_HOME\LIB\tools.jar)
現(xiàn)在可以執(zhí)行startup.bat這個(gè)文件了。(如果在執(zhí)行時(shí)出現(xiàn)out of environment space的提示,將你的DOS窗口的緩沖區(qū)大小開得大些。具體作法:在DOS 窗口的菜單中的屬性--> 內(nèi)存 --> 總共和初始環(huán)境改大點(diǎn))
在執(zhí)行完后,startup.bat會(huì)在另一個(gè)窗口開start tomcat的。現(xiàn)在你可以享受一下你的成果了。打開瀏覽器,在地址欄:http://localhost:9000/
然后回車。你應(yīng)該看到了一只jakatar-tomcat,F(xiàn)在在地址欄鍵入:
http://localhost:9000/examples/servlet/,回車。你應(yīng)該看到一個(gè)servlet的index的頁面,點(diǎn)擊其中的例子servlet看看吧。現(xiàn)在在地址欄鍵入
http://localhost:9000/examples/jsp/,回車。你應(yīng)該看到一個(gè)類似剛才servlet index頁面的一個(gè)頁面。點(diǎn)擊jsp的例子看看吧。如果在點(diǎn)擊了一個(gè)JSP的例子后出現(xiàn)500的錯(cuò)誤,如果沒有別的錯(cuò)誤信息,在IE5的工具菜單à Internet選項(xiàng)à 高級(jí),把顯示友好的HTTP錯(cuò)誤的選項(xiàng)去掉,然后IE會(huì)報(bào)出具體的出錯(cuò)信息。原因是你沒有將tools.jar放到classpath中去。
現(xiàn)在要將tomcat連接到apache上去了。首先到www.apache.org上去下載一個(gè)Apache Web Server,我用的是Apache1.3.12。再到j(luò)ava.apache.org上去下載一個(gè)Jserv,我用的是Jserv1.1.1。先安裝Apache Web Server(比如安裝在c:\apache目錄下面)。安裝完后需要修改c:\apache\conf\httpd.conf文件,找到Servername,修改為你喜歡的名字,找到port,修改為未被占用的端口。再安裝Jserv(比如安裝在c:\Jserv目錄下面)。安裝Jserv需要指定JVM所在的目錄,你可以指定JDK_HOME\BIN目錄。需要指定JSDK所在目錄,我指定的是我從java.sun.com上面下載的JSDK安裝后的目錄。(實(shí)際上它要找的是servlet.jar這個(gè)文件,你可以指定tomcat\lib\servlet.jar試一試,我并沒有這樣試過)
這時(shí)候?qū)嶋H上Apache已經(jīng)支持Servlet了,但還不支持JSP。所以你需要修改c:\apache\conf\httpd.conf文件。用文本編輯器打開httpd.conf,在文件加上:Include “Tomcat_Home\conf\tomcat-apache.conf”(請(qǐng)注意,tomcat-apache.conf這個(gè)文件是在tomcat運(yùn)行后由tomcat自動(dòng)產(chǎn)生的。所以要先開tomcat,再打開Apache)。
現(xiàn)在先啟動(dòng)tomcat(c:\tomcat\bin\startup.bat),當(dāng)出現(xiàn)了另一個(gè)窗口后,啟動(dòng)Apache(c:\apache\bin\apache.exe或者通過開始菜單à 程序à Apache Web Serverà Start Apache啟動(dòng))。如果此時(shí)通過后者啟動(dòng)Apache,有一個(gè)DOS窗口一閃后消失了,說明對(duì)Apache+JServ+tomcat的配置還有問題,應(yīng)該通過種方法啟動(dòng)Apache,此時(shí)你能在屏幕上看到具體的出錯(cuò)信息。如果出錯(cuò)信息是:apj* : can’t be specified more than once per host。(*號(hào)代表一些字符串,比如ApJServLogLevel等等),你要修改c:\Jserv\conf\jserv.conf文件,將apj*的相關(guān)行注釋掉可以,可能需要注釋5-6行。如果Apache也正常啟動(dòng)的話,現(xiàn)在你可以在地址欄鍵入http://localhost:apache_port/examples/servlet/ 來通過Apache+tomcat調(diào)試Servlet,這里apache_port是Apache的端口號(hào),可以通過修改c:\apache\conf\httpd.conf這個(gè)文件修改端口號(hào);在地址欄鍵入http://localhost:apache_port/examples/jsp/ 來調(diào)試JSP。
如果讀者細(xì)心的話,會(huì)發(fā)現(xiàn)前面測試用的都是examples\jsp目錄,F(xiàn)在告訴你怎么創(chuàng)建你自己的目錄。先在c:\tomcat\webapps目錄下面創(chuàng)建testdir目錄。在testdir目錄下面創(chuàng)建jsp目錄和classes目錄。現(xiàn)在用文本編輯器打開c:\tomcat\conf目錄下面的server.xml。在的結(jié)束tag前面加上:
然后將c:\tomcat\webapps\testdir\classes目錄放到classpath這個(gè)環(huán)境變量中去。用文本編輯器編輯下面這個(gè)文件。
存為c:\tomcat\webapps\testdir\jsp\helloworld.jsp。在地址欄鍵入:
http://localhost:apache_port/testdir/jsp/helloworld.jsp 看看結(jié)果吧。
再測試一下Servlet。用文本編輯器編輯下面這個(gè)文件。
import java.io.*;
import java.text.*;
import java.util.*;
import javax.servlet.*;
import javax.servlet.http.*;
public class HelloWorld extends HttpServlet {
public void service(HttpServletRequest request,
HttpServletResponse response)
throws IOException, ServletException
{
response.setContentType("text/html");
ServletOutputStream out = response.getOutputStream();
out.println("");
out.println("");
String title = “Hello World”;
out.println("" + title + "");
out.println("");
out.println("");
out.println("");
out.println("" + title + "");
out.println("");
out.println("");
}
}
存為c:\tomcat\webapps\testdir\classes\HelloWorld.java,用javac編譯后,在地址欄鍵入http://localhost:apache_port/testdir/servlet/HelloWorld 看看結(jié)果吧
來源:http://edu.chinaz.com