建立一個Servlet程式
在目錄D:\cn\itcast\firstapp\servlet目錄下,編寫一個Servlet
由於,直接實現Servlet介面,來編寫Servlet很不方便,需要實現很多方法
因此,可以通過繼承Servlet介面的實作類別javax.servlet.GenericServlet來實現
範例程式碼
HelloWorldServlet.javapackage cn.itcast.firstapp.servlet;import java.io.*;import javax.servlet.*;public class HelloWorldServlet extends GenericServlet{ public void service(ServletRequest request, ServletResponse response) throws ServletException, IOException{ //得到輸出資料流PrinterWriter對象,Servlet使用輸出資料流來產生響應 PrintWriter out=response.getWriter(); //使用輸出資料流對象向用戶端發送字元資料 out.println("Hello World"); }}
可以看到,HelloWorldServlet類繼承GenericServlet之後,只實現了service()方法
因為,GenericServlet類除了Servlet介面的service()方法之外,其他方法都已經實現了
因此,繼承GenericServlet類比實現Servlet介面更加簡單 編譯器
進入HelloWorldServlet.java所在目錄,編譯HelloWorldServlet.java檔案
錯誤提示,程式包javax.servlet不存在
因為,Java編譯器在CLASSPATH環境變數中,沒有找到javax.servlet包,需要將Servlet相關jar包所在的目錄,添加到CLASSPATH環境變數中
由於,Servlet程式是一個JavaEE程式,而不是JavaSE程式,因此,所有的jar檔案,都需要自己手動的加入classpath環境變數中,進入Tomcat安裝目錄下的lib目錄,包含許多與Tomcat伺服器相關的jar檔案,其中,servlet-api.jar檔案就是與Servlet相關的jar檔案
開啟命令列視窗,通過set classpath命令,將servlet-api.jar檔案所在的目錄,添加到classpath環境變數中
命令
set classpath=%classpath%;D:\Tomcat\apache-tomcat-7.0.79\lib\servlet-api.jar
編譯完成
在Tomcat的webapps目錄下,建立目錄chapter04
Chapter04為Web應用的名稱,然後,在chapter04目錄下建立\WEB-INF\classes目錄,將HelloWorldServlet.class檔案複製到classes目錄下
注意
複製時需要將該檔案所在的目錄,\cn\itcast\firstapp\servlet一起複製過去 配置web.xml檔案
進入目錄WEB-INF,編寫一個web.xml檔案
web.xml檔案的編寫方式,參考Tomcat安裝目錄下的web.xml檔案,該檔案位於examples\WEB-INF子目錄下
代碼如下
<?xml version="1.0" encoding="ISO-8859-1"?><web-app xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" version="3.0"> <servlet> <servlet-name>HelloWorldServlet</servlet-name> <servlet-class>cn.itcast.firstapp.servlet.HelloWorldServlet</servlet-class> </servlet> <servlet-mapping> <servlet-name>HelloWorldServlet</servlet-name> <url-pattern>/HelloWorldServlet</url-pattern> </servlet-mapping></web-app>
配置資訊
<servlet>,用於註冊Servlet
它的兩個子項目<servlet-name>和<servlet-class>,分別用來指定Servlet名稱,及其完整類名
<servlet-mapping>,用於映射Servlet對外訪問的虛擬路徑,它的子項目<servlet-name>的值,必須和<servlet>元素中<servlet-name>相同
<url-pattern>,用於指定訪問該Servlet的虛擬路徑,該路徑以正斜線/開頭,表示當前Web應用程式的根目錄
啟動Tomcat伺服器,在瀏覽器的地址欄中輸入URL地址
http://localhost:8080/chapter04/HelloWorldServlet
訪問HelloWorldServlet