Servlet的運(yùn)行環(huán)境配置淺談
Servlet的運(yùn)行環(huán)境需要什么呢?
首先我們討論要運(yùn)行Servlet,則需要JSP/Servlet container,我建議初學(xué)者用Tomcat。
Tomcat(最新版本5.0):http://cvs.apache.org/builds/jakarta-tomcat-5/nightly/jakarta-tomcat-5-bin-20030725.zip
然后把這個(gè)壓縮包解壓到:
C:\Tomcat
然后再配置Servlet的運(yùn)行環(huán)境的環(huán)境變量;添加三個(gè)系統(tǒng)變量:
- JAVA_HOME: C:\JDK
- TOMCAT_HOME: C:\Tomcat
- CLASSPATH: %JAVA_HOME%\lib;%TOMCAT_HOME%\lib
Tomcat的環(huán)境變量就配置完畢了,下面檢驗(yàn)Tomcat是否能夠運(yùn)行:
在控制臺(tái)中轉(zhuǎn)到C:\Tomcat\bin這個(gè)目錄,運(yùn)行startup,然后回出現(xiàn)一個(gè)窗口,連跳一大串東西,最后表示Server已經(jīng)運(yùn)行。
在瀏覽器中輸入http://localhost:8080,出現(xiàn)歡迎界面,則表示Tomcat沒問題了。然后和上面一樣,寫入你的第一個(gè)Servlet。
- import java.io.*;
- import javax.servlet.*;
- import javax.servlet.http.*;
- public class HelloWorld extends HttpServlet
- {
- public void doGet(HttpServletRequest request,HttpServletResponse response)throws ServletException,IOException
- {
- response.setContentType("text/html");
- PrintWriter out = response.getWriter();
- out.println("﹤h﹤tml﹥﹤head﹥﹤title﹥");
- out.println("This is my first Servlet");
- out.println("﹤/title﹥﹤/head﹥﹤body﹥");
- out.println("﹤h1﹥Hello,World!﹤/h1﹥");
- out.println("﹤/body﹥﹤/html﹥");
- }
- }
然后照樣用javac HelloWorld.java來編譯這個(gè)文件,如果出現(xiàn)無法import javax.servlet.*
那么就是應(yīng)該把C:\Tomcat\common\lib里面的servlet.jar文件拷貝到C:\JDK\jre\lib\ext中,再次編譯,就沒有問題了!
然后在Tomcat目錄里面的C:\Tomcat\webapps\ROOT里面按如下的文件結(jié)構(gòu):
ROOT\index.html
ROOT\welcom.jsp
ROOT\WEB-INF\lib\MyServlet.jar(如果你的servlet的.class打成了.jar文件,則放在lib下面)
ROOT\WEB-INF\classes\HelloWorld.class(把上面生成的HelloWorld.class文件放在這個(gè)里面)
然后在瀏覽器中輸入http://localhost:8080/servlet/HelloWorld,于是Server眾望所歸的報(bào)錯(cuò)了:Error 404--Not Found
怎么回事呢?
Servlet必須使用C:\Tomcat\webapps\ROOT\WEB-INF這個(gè)目錄下面的web.xml文件進(jìn)行注冊(cè),用EP打開這個(gè)web.xml文件,在里面加入:
- ﹤servlet﹥
- ﹤servlet-name﹥HelloWorld﹤/servlet-name﹥
- ﹤servlet-class﹥HelloWorld﹤/servlet-class﹥
- ﹤/servlet﹥
- ﹤servlet-mapping﹥
- ﹤servlet-name﹥HelloWorld﹤/servlet-name﹥
- ﹤url-pattern﹥/servlet/helloworld﹤/url-pattern﹥
- ﹤/servlet-mapping﹥
這樣的結(jié)構(gòu)
- ﹤servlet﹥
- ﹤servlet-name﹥HelloWorld﹤/servlet-name﹥
- ﹤servlet-class﹥HelloWorld﹤/servlet-class﹥
- ﹤/servlet﹥
表示指定包含的servlet類。而以下的結(jié)構(gòu):
- ﹤servlet-mapping﹥
- ﹤servlet-name﹥HelloWorld﹤/servlet-name﹥
- ﹤url-pattern﹥/servlet/HelloWorld﹤/url-pattern﹥
- ﹤/servlet-mapping﹥
表示指定HelloServlet應(yīng)當(dāng)映射到哪一種URL模式。
在修改web.xml完畢過后,重新啟動(dòng)Server,然后再輸入http://localhost:8080/servlet/HelloWorld,那么偌大一個(gè)Hello,World!等著你呢。
Servlet的運(yùn)行環(huán)境配置完成之后我們就可以進(jìn)行我們有趣的Servlet編程旅程了。
【編輯推薦】