Servlet是Java類,它服務的HTTP請求,並實現javax.servlet.Servlet接口。Web應用程序開發人員編寫Servlet擴展javax.servlet.http.HttpServlet,實現Servlet接口和抽象類,它是專門設計用來處理HTTP請求。
下麵是示例的源代碼結構的一個servlet的例子,寫一個Hello World:
// Import required java libraries import java.io.*; import javax.servlet.*; import javax.servlet.http.*; // Extend HttpServlet class public class HelloWorld extends HttpServlet { private String message; public void init() throws ServletException { // Do required initialization message = "Hello World"; } public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { // Set response content type response.setContentType("text/html"); // Actual logic goes here. PrintWriter out = response.getWriter(); out.println("<h1>" + message + "</h1>"); } public void destroy() { // do nothing. -by www.gitbook.net } }
讓我們把上麵的代碼中,如果HelloWorld.java文件,把這個文件在C:\ServletDevel(窗口)或/usr/ServletDevel(UNIX),那麼你將需要添加這些目錄在CLASSPATH中。
假設你的環境是正確的,在ServletDevel目錄和編譯HelloWorld.java中如下設置:
$ javac HelloWorld.java
如果servlet依賴於任何其他庫,必須在CLASSPATH中包括JAR文件。我的servlet-api.jar隻包括JAR文件,因為我冇有使用任何其他庫中的Hello World程序。
此命令行使用內置的javac編譯器附帶Sun的Java軟件開發工具包(JDK)。為使此命令正常工作,必須包括所使用的Java SDK的位置在PATH環境變量。
如果一切順利,上麵編譯生成HelloWorld.class的文件在同一目錄下。下一節將解釋如何將部署在生產一個編譯Servlet。
默認情況下,一個servlet的應用程序位於的路徑<Tomcat-installation-directory>/webapps/ROOT目錄和類文件將放在<Tomcat-installation-directory>/的webapps/ROOT/WEB-INF/ classes中。
如果你有一個完全合格的類名稱com.myorg.MyServlet,那麼這個servlet類必須位於WEB-INF/classes/com/myorg/MyServlet.class中。
現在,讓我們HelloWorld.class複製到<Tomcat-installation-directory>/webapps/ROOT/WEB-INF/classes中,並在web.xml文件中創建以下條目在<Tomcat-installation-directory>/webapps /ROOT/WEB-INF/目錄。
<servlet> <servlet-name>HelloWorld</servlet-name> <servlet-class>HelloWorld</servlet-class> </servlet> <servlet-mapping> <servlet-name>HelloWorld</servlet-name> <url-pattern>/HelloWorld</url-pattern> </servlet-mapping>
上麵的條目要創建內部<web-app>...</ web應用程序>標簽在web.xml文件中。有可能是在此表中的各個條目已經可用,但不要在意。
您幾乎已經完成了,現在讓我們使用<Tomcat-installation-directory>\ BIN\的startup.bat(在Windows上)或<Tomcat-installation-directory>/ BIN/ startup.sh(啟動tomcat服務器上的Linux / Solaris等),最後輸入http://localhost:8080/HelloWorld的在瀏覽器的地址框中。如果一切順利,你會得到下麵的結果: