1. 程式人生 > >手動編寫部署第一個servlet

手動編寫部署第一個servlet



(1)在“Tomcat 6.0\webapps”下建立一個web工程--FirstServlet

   FirstServlet目錄結構為:

          FirstServlet

                   | ---- index.html

                   | ---- WEB-INF

                             | ---- classes 

                                        | ---- FirstServlet.java

                                        | ---- edu.servlet.FirstServlet.class

                             | ---- lib

                             | ---- web.xml

 如圖:

(2)在classes目錄下編寫FirstServlet.java,其內容為:

package edu.servlet;
import java.io.*;
import javax.servlet.*;

public class FirstServlet extends GenericServlet
{
    public FirstServlet(){
      System.out.println("我被例項化了!");
    }
    public void service(ServletRequest req,ServletResponse res) throws ServletException,IOException{
       
       String data = "hello servlet!";
       OutputStream out = res.getOutputStream();
       out.write(data.getBytes());

    }

    public void init(ServletConfig config)throws ServletException{
       System.out.println("我被初始化了!");
    }

}

(3)在cmd視窗中編譯FirstServlet.java(因為帶有報名,所以應該使用javac -d . FirstServlet.java)

      但是會報錯,因為classpath路徑下沒有servlet相關的jar包,所以編譯不成功,解決辦法:

     set classpath = %classpath%;C:\Program Files\Apache Software Foundation\Tomcat 6.0\lib\servlet-api.jar(因為tomcat\lib下有servlet的jar包)

     然後再執行javac -d . FirstServlet.java,則會編譯成功!

(4)在web.xml中編寫servlet的對映檔案

    <servlet>
        <servlet-name>firstServlet</servlet-name>
        <servlet-class>edu.servlet.FirstServlet</servlet-class>
        <load-on-startup>0</load-on-startup>
    </servlet>

    <servlet-mapping>
        <servlet-name>firstServlet</servlet-name>
        <url-pattern>/first.do</url-pattern>
    </servlet-mapping>

(5)啟動tomcat,會發現啟動的時候打印出"我被例項化了!""我被初始化了!",因為web.xml檔案中設定<load-on-startup>0</load-on-startup>

(6)位址列上輸入:http://localhost:8080/FirstServlet/first.do則可以出現: