首頁 >Java >java教程 >Java中如何手動設定Servlet在Tomcat中運行?

Java中如何手動設定Servlet在Tomcat中運行?

WBOY
WBOY轉載
2023-04-26 09:55:071240瀏覽

    1.準備工作

    如下圖,先依照要求建立好各個檔案

    Java中如何手動設定Servlet在Tomcat中運行?

    Java中如何手動設定Servlet在Tomcat中運行?

    #這時候如果你覺得能運行,那就錯了(我一開始卡在這裡了)

    idea的專案結構

    Java中如何手動設定Servlet在Tomcat中運行?

    如果學習過用idea創建servlet應用,你一定會發現,這裡提供的web.xml根本不完整
    請用以下程式碼囊括上述的servlet標籤

    <?xml version="1.0" encoding="UTF-8"?>
    <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_4_0.xsd"
             version="4.0">
    		//在这里加入上面说过的servlet标签代码
    </web-app>

    2.編譯檔案

    編碼出問題

    Java中如何手動設定Servlet在Tomcat中運行?

    #如上,剛開始我想編譯,但報錯了

    這裡的原因是,javac會根據你的作業系統編碼讀取原始檔碼,而我的電腦是預設GBK的,但這些原始碼我們都是在記事本寫下的,而記事本預設使用UTF-8保存,於是相當於javac用GBK讀取UTF-8的內容,遂報錯

    因此我們要指定讀取源碼的編碼格式為​​UTF-8

    Java中如何手動設定Servlet在Tomcat中運行?

    ##學習類別載入器

    這時候報的錯是正常顯示的中文了,找不到servlet,意思是你用了這個類,但沒找到,根據雙親委派,我們知道找一個類,會先從system class loader類加載器的緩存開始找,沒有就找他的父加載器即extension class loader的緩存,沒有就再找extension class loader的父加載器bootstrap class loader的緩存,還是沒有就開始向下,先找bootstrap class loader的指定路徑下的jar包是否含有我們要的類,從下圖可知,跟類加載器加載核心jar包,一些基本的類別都在裡面,路徑是jdk下的jre下的lib


    Java中如何手動設定Servlet在Tomcat中運行?

    #這時候還沒找到,就去擴充類別載入器的指定路徑找,我的電腦是以下路徑


    Java中如何手動設定Servlet在Tomcat中運行?

    如果還沒找到,那就在系統類別載入器指定路徑,也就是耳熟能詳的classpath,你平常在設定path的時候應該也遇過,

    那麼-cp指令後面跟上classpath就是告訴系統如果一套下來沒找到就去我這找,-cp全名就是-classpath兩種寫法都能運行

    處理編譯結果

    當你透過在檔案管理器輸入cmd進行javac時,預設產生class檔案在目前目錄,可這裡有個重點,你寫的java來源檔案有package這條指令,那麼我們必須依照套件名稱逐級建立資料夾(執行的時候才能找到你匯入的自己寫的原始檔),

    -d 就是放class的位置,-d .可以在目前目錄下幫我們自動建立套件資料夾很方便,不用手動建立

    以上是Java中如何手動設定Servlet在Tomcat中運行?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

    陳述:
    本文轉載於:yisu.com。如有侵權,請聯絡admin@php.cn刪除