如何成功運行一個最簡單的servlet


好吧,又是一個簡單到不能再簡單的問題~~

由於各種原因,這次就不上圖了,直接步驟和代碼了。

1、前期准備

    jdk、tomcat、EditPlus(eclipse)安裝成功並且設置好環境變量。

2、由於jdk(JavaSE)是無法直接編譯servlet的,所以需要將tomcat安裝目錄\lib\servlet-api.jar復制到java安裝目錄\lib下,並且為了確保沒有問題,可以在系統變量CLASSPATH后面加上“;%CATALINA_HOME%\lib\servlet-api.jar”(前提是CATALINA_HOME要設置好啊。。)

3、創建文件結構

    我在tomcat的webapps目錄下新建了一個my文件夾,下面又新增了src文件夾(放所有的java文件包括servlet)、WEB-INF文件夾(放所有的classes類、jar包、靜態頁面和web.xml),WEB-INF文件夾里新建兩個文件夾:classes和lib。

4、現在可以寫代碼了,在src文件夾下新建文件夾servlet,在servlet文件夾內新建一個java文件,命名為HelloWorldServlet.java。

 1 package servlet;
 2 
 3 //打包,注意這個地方,待會在配置web.xml時會用到
 4 
 5 import javax.servlet.http.*;
 6 import javax.servlet.*; 
 7 import java.io.*;
 8 
 9 //以上三個導入語句都是servlet要用到的,尤其是前兩個
10 
11 public class HelloWorldServlet extends HttpServlet{
12 
13     protected void doGet(HttpServletRequest req,HttpServletResponse resp)throws IOException,ServletException{
14 
15         PrintWriter out = resp.getWriter();         //打印流,自動flush,不會拋出異常         
16         out.println("<html><head><title>Hello</title></head><body>HelloWorld!</body></html>");
17      
18         //作用是輸出HelloWorld!字段         
19 
20         out.flush();
21 
22         //flush()    清空緩沖區的數據
23 
24         out.close();
25 
26         //關閉
27 
28     } 
29 }
30         

因為我用的是EditPlus,所以就手動來編譯一下吧(實話說一個兩個都也沒啥,多了我也不知道怎么辦比較好。。。)

運行——cmd——cd D:\apache-tomcat-8.0.12\webapps\my\src\servlet(這個路徑根據實際情況可以改)——javac HelloWorldServlet.java

如果出現亂碼的問題,請參見我的上一篇文章《解決java文件編碼和windows7系統(中文版)默認編碼沖突所導致的亂碼情況

成功編譯之后,將生成的class文件復制到WEB-INF文件夾的classes文件夾中。注意,因為HelloWorldServlet.java的位置是在servlet文件夾內,所以在這里也要如法炮制,在classes文件夾里也要新建servlet文件夾,並將HelloWorldServlet.class文件放入其中。

5、別以為這就完事了。。配置web.xml同樣是件大事。如果沒有配置這個,100%報404(我才不會告訴你我蛋疼了好長時間)

如果你用的是eclipse或者其他的工具的話,可以在建立項目時就選擇創建默認的web.xml(內面的內容非常少,只有一些歡迎的頁面設置)。我是用的tomcat里example項目中改的,大家可以參考:

 1 <?xml version="1.0" encoding="UTF-8"?>
 2 
 3 <web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee"   
    xmlns:xsi
="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation
="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd"
    version
="3.1"
metadata-complete
="true"> 4 5 <servlet> 6 <servlet-name>Hello</servlet-name> 7 <servlet-class>servlet.HelloWorldServlet</servlet-class> 8 </servlet> 9 <servlet-mapping> 10 <servlet-name>Hello</servlet-name> 11 <url-pattern>/HelloWorldServlet</url-pattern> 12 </servlet-mapping> 13 </web-app> 14

加粗的內容是針對上文中寫的servlet的設置。大家可以如法炮制(實話說我也講不太明白,大家自行百度吧)。。。

6、最后,啟動tomcat,輸入http://localhost:8080/my/HelloWorldServlet ,搞定。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM