手工釋出第一個Servlet程式——HelloWorld
本文介紹不借助IDE整合開發環境,通過手工的方式編寫和釋出Servlet程式。
環境配置:JavaSDK+Tomcat+Servlet-api.jar包。
Servlet-api.jar包在 Tomcat的安裝目錄/lib目錄下,將該路徑加入classpath變數中。
我的tomcat安裝目錄是D:\Java\tomcat。
一、編寫程式碼
1、在D\Java\tomcat\webapps目錄下新建一個HelloWorld資料夾。
2、在D\Java\tomcat\webapps\HelloWorld目錄下新建兩個子目錄,為test和WEB-INF,其中test存放原始碼,WEB-INF是JavaWEB應用的安全目錄。
3、在D\Java\tomcat\webapps\HelloWorld\WEB-INF目錄下新建兩個子目錄,為classes和lib。
4、在D\Java\tomcat\webapps\HelloWorld\test目錄下建立HelloWorld.java檔案,程式碼如下:
package test;
import java.io.IOException;
import java.io.PrintWriter;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
public class HelloWorld extends HttpServlet {
private static final long serialVersionUID = 1L;
public HelloWorld() {
super(); //呼叫父類的構造方法
}
protected void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
doPost(request,response);
}
protected void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
response.setContentType("text/html;charset=UTF-8");
PrintWriter out=response.getWriter();
out.println("<b>Hello World!</b>"); //向客戶端輸出Hello World
}
}
注意:Java原始碼必須放在包目錄下
二、編譯Servlet
1、在windows控制檯程式,進入D\Java\tomcat\webapps\HelloWorld目錄。
2、輸入如下命令:(已配置classpath變數)
javac -d WEB-INF\classes test\HelloWorld.java
若沒有配置,則輸入
javac -classpath .;….\lib\servlet-api.jar -d WEB-INF\classes test\HelloWorld.java
其中-classpath引數用來配置環境變數classpath的值, . 表示當前目錄,..表示上一級目錄。-d引數用來設定編譯後classes檔案的目錄,編譯時也可不加引數,但一定要將編譯後的.class檔案放在WEB-INF目錄下的classes資料夾裡(連同所在的包)。
三、部署Servlet
1、在D\Java\tomcat\webapps\HelloWorld\WEB-INF目錄下建立一個web.xml檔案,為編寫的Servlet配置訪問路徑。
程式碼如下:
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="http://java.sun.com/xml/ns/javaee"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"
id="WebApp_ID" version="3.0">
<!-- 定義Servlet本身的屬性 -->
<!-- 宣告Servlet的名稱 -->
<servlet-name>HelloWorld</servlet-name>
<!-- 宣告Servlet所對應的類名 -->
<servlet-class>test.HelloWorld</servlet-class>
</servlet>
<!-- 用於進行Servlet對映 -->
<servlet-mapping>
<servlet-name>HelloWorld</servlet-name>
<!-- 用於指明Servlet的訪問地址 -->
<url-pattern>/helloworld</url-pattern>
</servlet-mapping>
</web-app>
在Servlet3.0規範之前需要編寫上述web.xml檔案對Servlet進行配置。在Servlet3.0版本規範中支援註解進行配置,即在原始碼中加入註解
@WebServlet(urlPatterns={“/helloworld”})
現在我們啟動Tomcat伺服器,在瀏覽器位址列輸入
http://localhost/HelloWorld/helloworld
連結中localhost後的HelloWorld是專案所在的目錄,/helloworld是web.xml檔案中(url-pattern)標籤裡的內容。
至此,我們的第一個Servlet程式就執行成功啦ヾ(◍°∇°◍)ノ゙