建立一個webApp詳細步驟如下:
1. 在我們的tomcat目錄下的webapps 下建立一個自定義目錄,作為我們webapp的整個項目目錄;這裡Himi命名為MyWebApp;
2.然後在 MyWebApp下繼續建立一個“WEB-INF"檔案夾(必須有),在WEB-INF下建立一個名字為"web.xml"檔案(必須有),并且在WEB-INF繼續放置一個名為“lib”檔案夾(必須有) ,lib下主要用于放置第三方jar包,tomcat自動為我們加載;最後仍舊在WEB-INF中建立一個名為“classes”檔案夾(必須有),整個classes檔案夾主要用于放置我們編譯好的servlet檔案;
目錄如下圖:

3. 第二步中建立的web.xml隻需要寫入如下内容即可:
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"
metadata-complete="true">
4. 設定tomcat自動為我們監控目錄是否有變化,有變化就自動為我們重新加載,設定方法:
在tomcat目錄下,conf/context.xml 打開後将 标簽加入一個屬性,如下:
5.編寫我們第一個Servlet:
IDE 建立一個 Java Project,然後在此項目中加入servlet jar包,此jar包為:
xxx(你的tomcat目錄)/lib/servlet-api.jar
6. 建立一個類,繼承HttpServlet 并且重寫doGet, doPost兩個函數,如下:
import java.io.IOException;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
public class HelloServlet extends HttpServlet {
private static final long serialVersionUID=1L;
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp)
throws ServletException, IOException {
// TODO Auto-generated method stub
super.doGet(req, resp);
}
@Override
protected void doPost(HttpServletRequest req, HttpServletResponse resp)
throws ServletException, IOException {
// TODO Auto-generated method stub
super.doPost(req, resp);
}
}
OK, doGet和doPost 都有兩個參數:
1). HttpServletRequest 表示用戶端傳過來的一個請求,然後被Tomcat包裝成對象;
2). HttpServletResponse 表示對用戶端的一個應答,将資料發送給用戶端;
這裡假設我們用戶端使用get方式通路伺服器,那麼我們稍微修改下get函數如下:
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp)
throws ServletException, IOException {
PrintWriter pw=resp.getWriter();//得到一個輸出流
//寫給Client端一個簡單網頁資訊
pw.println("
Server:Hello Client~");
pw.flush();
pw.close();
}
7. 這裡我們雖然編寫了一個Servlet,但是無法使用必須通過Tomcat使用,是以我們将剛剛編寫的Servlet類找到其對應編譯後的.class檔案,然後放置我們在tomcat目錄下自定義的MyWebApp/WEB-INF/classes檔案夾下;
8.修改web.xml讓tomcat知道當用戶端通路server時候知道什麼時候調用使用我們的servlet,将web.xml内容修改如下:
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"
metadata-complete="true">
servlethimi
HelloServlet
servlethimi
/himi
servlethimi
/xiaominghimi
這裡大概解釋一下:
1) 标簽是給你的servlet起個名字,整個名字是給tomcat來看的;
2) 對應你編譯後的servlet的類名;
3) 整個标簽主要是告訴tomcat,Client端通路我這個servlet而使用的字段是什麼;
這裡注意兩點:
a) 标簽内容要以"/"開頭;
b) 每個servlet可以對應很多個通路字段,比如這裡我有兩個 對應兩個通路字段"/himi","/xiaominghimi"
到此我們第一個簡單的WebApp就完成了,然後我們測試一下;
首先啟動tomcat ,打開終端 startup.sh
然後打開你的safari 在位址欄敲入:
http://localhost:8080/MyWebApp/xiaominghimi
或者:
http://localhost:8080/MyWebApp/himi
都可以正常得到如下内容:
整個網頁的源碼如下:
OK,資料擷取正常;