日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Tomcat 下构建 Web 应用时,常犯的一些通用错误

發(fā)布時間:2024/4/13 编程问答 33 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Tomcat 下构建 Web 应用时,常犯的一些通用错误 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

Tomcat 下構(gòu)建 Web 應(yīng)用時,常犯的一些通用錯誤

  • 這些錯誤可以引發(fā)的問題
  • 常犯的通用錯誤

筆者報錯時的運行環(huán)境:

  • JDK 13.0.2

  • Maven 3.6.3

  • Tomcat 9.0.41(Servlet 4.0,JSP 2.3)

  • IntelliJ IDEA 2020.1.2 (Ultimate Edition)

??重新開始在 Tomcat 下部署 Web 應(yīng)用,很容易遇到各種問題。筆者也經(jīng)常被這些沒有技術(shù)含量的問題困擾,有時甚至浪費幾個小時的時間才得到解決。為了防止自己以后再犯,同時也為了減少其它人的工作量,本文列出了構(gòu)建 Web 應(yīng)用時,常犯的一些通用錯誤以及它們可以引發(fā)的問題。

??(通用錯誤指的是,雖然對于不同的項目,瀏覽器的報錯各不相同,但是它們可能是同一類錯誤導致的。)

這些錯誤可以引發(fā)的問題

?? Tomcat下useBean類屬性[…]的值無效

?? getInitParameter返回null

?? 源服務(wù)器未能找到目標資源的表示或者是不愿公開一個已經(jīng)存在的資源表示

常犯的通用錯誤

  • 運行 Web 應(yīng)用應(yīng)該使用的 URL 路徑為:

    Web 應(yīng)用的基路徑/Web 應(yīng)用名/Web 應(yīng)用相對路徑

    其中:

    • Web 應(yīng)用的基路徑:指在 Tomcat 中設(shè)置的路徑。

    • Web 應(yīng)用名:默認為文件夾 WEB-INF 的上一級文件夾的文件夾名,但有時也可以選擇在服務(wù)器中設(shè)置。

    • Web 應(yīng)用相對路徑:指在 Web 程序中指定的相對路徑。如果沒有在程序中指定,則默認為打開某文件的路徑,即 Web 應(yīng)用文件夾下的某文件的路徑。

    例如:如果通過將 Web 應(yīng)用放置到本地 Tomcat 安裝目錄下的文件夾 webapps 中來部署,且 Tomcat 中設(shè)置的端口號為 8080,文件夾 webapps 下有一個文件夾 myweb,而文件夾 myweb 中有一個文件 demo.jsp。那么,使用本地瀏覽器訪問文件 demo.jsp 的 URL 路徑如下:

    • Web 應(yīng)用的基路徑:localhost:8080

    • Web 應(yīng)用名:myweb

    • Web 應(yīng)用相對路徑:demo.jsp

    • 完整 URL:http://localhost:8080/myweb/demo.jsp


  • 文件夾 WEB-INF 的位置:必須為 Web 應(yīng)用的目錄(文件夾)的下一級目錄(文件夾)(注意:是下一級,不是下 N 級)。

    • 部署方式為 Tomcat 安裝目錄下的文件夾 webapps:

      如果通過將 Web 應(yīng)用放置到 Tomcat 安裝目錄下的文件夾 webapps 中來部署,且 Web 應(yīng)用的名稱為 myweb,那么,文件夾 myweb 需要放到 webapps 中,而文件夾 WEB-INF 需要放到 myweb 中。如果把文件夾 WEB-INF 放到文件夾 myweb 中更深層次的文件夾,這將導致文件夾 WEB-INF 不被識別。(即 Tomcat 下的 webapps 里放 myweb,myweb 里放 WEB-INF。)

      注意:只有使用這種方式可以同時在一個文件夾下部署多個 Web 應(yīng)用。使用本文提到的其它方式就只能在一個文件夾下部署一個 Web 應(yīng)用,因此該文件夾內(nèi)需直接放置該 Web 應(yīng)用的相關(guān)文件(如文件夾 WEB-INF)。


    • 部署方式為 Tomcat 安裝目錄下的文件夾 conf 內(nèi)的 XML 配置文件:

      如果 Web 應(yīng)用是通過在路徑 Tomcat 的安裝路徑\conf\Catalina\localhost\Web 應(yīng)用名.xml 中的 XML 文件中配置路徑部署的,那么請注意,此 XML 文件指定的路徑是 Web 應(yīng)用的路徑不是 Web 應(yīng)用的路徑的上一級文件夾的路徑

      • 比方說,如果上述 XML 文件命名為 router.xml ,且在該 XML 文件中指定的路徑是 <Context docBase=“D:\Tomcat\myweb” debug=…/> 。那么, Web 應(yīng)用名是 router不是 myweb ),且文件夾 WEB-INF 需要放到文件夾 myweb 中。如果把文件夾 WEB-INF 放到文件夾 myweb 中更深層次的文件夾,這將導致文件夾 WEB-INF 不被識別。

    • 部署方式為 IntelliJ IDEA 中的 Maven 原型:

      如果 Web 應(yīng)用是通過在 IntelliJ IDEA 中的 Maven 原型(archetype)中建立的,則應(yīng)用的部署文件夾為 IntelliJ IDEA 工程中的文件夾 webapp。此時,文件夾 WEB-INF 需要直接放到文件夾 webapp 中。如果把文件夾 WEB-INF 放到文件夾 webapp 中更深層次的文件夾,這將導致文件夾 WEB-INF 不被識別。


  • 文件夾 WEB-INF 中的配置文件只會在 Tomcat 開始啟動時才會生效。如果更改了WEB-INF文件夾中的任何內(nèi)容,則需要重啟 Tomcat 服務(wù)器。

  • Tomcat 可以處理的是 .class 文件,而不是 .java 文件。如果不使用 IDE,直接使用 Tomcat ,那么需要在文件夾 WEB-INF 下的文件夾 classes 下提供相應(yīng)的.class文件,其中.class文件還需要按 Java 包名目錄的規(guī)則存放。

  • 在 Tomcat 9 及之前,在地址欄輸入的 URL 需要輸入完整的路徑名,而不能選擇先輸入 Web 應(yīng)用(Web 文件夾)的路徑,然后在瀏覽器中選擇要訪問的文件( 從 Tomcat 10 開始才可以這么做)。
    總之,在 Tomcat 9 及之前,凡是在地址欄輸入沒有設(shè)置過的路徑,瀏覽器均會報此錯誤。

總結(jié)

以上是生活随笔為你收集整理的Tomcat 下构建 Web 应用时,常犯的一些通用错误的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。