1. 程式人生 > >Servlet基礎之實現第一個servlet程式

Servlet基礎之實現第一個servlet程式

實現第一個Servlet程式

1.     建立servlet檔案

在某個盤下建立一個新的資料夾,(資料夾名字自己開心就好,也可以是原來命名好的資料夾)在此目錄下建立一個XXXX.java檔案,內容如下

packagejava_web;//這是包名,也就是你建立的資料夾的名字,從大到小,我是直接在D盤下建立的java_web的資料夾,所以包名就直接是java_web

importjava.io.*;

importjavax.servlet.*;

publicclass HelloWorldServlet extends GenericServlet{

  public void service(ServletRequestrequest,ServletResponse response) throws ServletException,IOException{

  //得到輸出流PrinterWriter物件,Servlet使用輸出流來產生響應

  PrintWriter out = response.getWriter();

  //使用輸出流物件向客戶端傳送字元

  out.println("XXXXX");//XX表示在客戶端顯示的內容

  }

}

2.     編譯servlet

檔案

Cmd進入你的XXXX.java檔案所在的目錄,然後編譯你的XXXX.java檔案,編譯好後,會有一個XXXX.class 檔案生成。

Ps:cd 檔名是進入資料夾

看到錯誤先別急,先看下錯誤提示是什麼

Javax.servlet.*不存在,這是因為Java編譯器在classpath 的環境變數中找不到javax.servlet.*包,因此想要編譯servlet,需要將servlet相關的jar包所在的目錄新增到classpath環境變數中。

3.     找到servletjar

由於servlet
是一個JavaEE程式不是javaSE,所有的jar檔案需要手動新增到classpath環境變數中。進入tomcat安裝目錄-lib找到servlet-api.jar檔案,這就是與servlet相關的jar檔案

4.  引入servlet的jar包

命令列視窗,設定set classpath 如下圖,並編譯.java檔案

成功編譯後

 

5.     將編譯後的.class 檔案新增到伺服器

tomcatwebapp下建立一個資料夾(名字開心就好,該名字為web應用的名稱),在此資料夾下建立WEB-INF\classes目錄,將上面編譯的class拷貝到classes目錄下(將他的全部上級目錄拷貝過去),如下圖

6.     建立xml配置檔案

WEB-INF中,編寫一個web.xml (不知道怎麼寫就參考Tomcat安裝目錄下的web.xml 檔案,該檔案在example/WEB-INF子目錄下),以下是我們自己的xml檔案配置程式碼

<?xmlversion="1.0" encoding="UTF-8"?>

<web-appxmlns="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>java_web.HelloWorldServlet</servlet-class>

    </servlet>

 <servlet-mapping>

       <servlet-name>HelloWorldServlet</servlet-name>

        <url-pattern>/HelloWorldServlet</url-pattern>

    </servlet-mapping>

</web-app>

Ps:<servlet>用於註冊Servlet

<servlet-name>HelloWorldServlet</servlet-name>指定servlet的名稱為HelloWorldServlet,你也可以改成其他的

<servlet-class>java_web.HelloWorldServlet</servlet-class>指定servlet完整的類名,要和你編寫的.java 檔案的類名相同

<servlet-mapping>用於對映servlet對外訪問虛擬路徑,它的<servlet-name>名字必須和<servlet>中的<servlet-name>相同

<url-pattern>是指定該servlet的虛擬路徑,該路徑以正斜槓(/)開頭,表示當前web應用程式的根目錄

7.       執行伺服器,檢查結果

啟動tomcat 的伺服器,在瀏覽器地址中輸入http://localhost:8080/chapter03/HelloWorldServlet訪問HelloWorldServlet,顯示結果如下:

總結:在這個過程中,我遇見了一些問題:

1:tomcat無法啟動,出現閃退的情況

2:Java的環境配置出現了問題,導致無法編譯

   .java檔案中的程式碼敲錯,敲得時候太快,沒注意區分大小寫

告訴自己,配置的過程中要仔細,編寫的過程中也要細心。

後來自己重新配置了tomcat,和java tomcat 中安裝環境配置與java的jdk和jre的環境配置