首頁 >Java >java教程 >Java Web專案存取不到html檔案怎麼解決

Java Web專案存取不到html檔案怎麼解決

WBOY
WBOY轉載
2023-04-27 20:34:121731瀏覽

踩坑問題和原因

踩坑問題

由於博主的JavaWeb是速成所以對一些知識點掌握的不是很熟,所以也就出現了今天這個問題&mdash ;—Tomcat存取不到html檔案。

在運行是總是會出現404。每次出現這個都很煩,讓人摸不著頭緒。雖然這個問題其實對某些項目沒有很大的影響,但是他會讓我的專案目錄會很雜亂。總的來說該問題就是不解決它,就會出現一堆靜態資源都在一個資料夾中。這可能會導致後期找一些專案的文件就得找半天。

踩坑原因

由於粗心的我把一些html檔案都放在WEB-INF下面。因為WEB-INF下的資源不能直接存取(WEB-INF是Java的web應用程式安全目錄,只對服務端開放,對客戶端是不可見的。),只能透過請求和轉送過去。所以在瀏覽器上面是訪問不到的(重定向也是不行的)。

Java Web项目访问不到html文件怎么解决

解決方法

在上述中也說了,直接存取是無法存取的。但是我們能透過轉發和請求來對html檔案進行存取。而在本次專案中,部落客是採用的請求存取。也就是說,先是前端發送訊號到後端——表示我需要請求某個網頁。然後後端相對應的做出反應然後返回跳到相對應的介面。

public class regist extends ssm.ViewBaseServlet{//继承了一个类,这个类就是用来解析html时用的。
    @Override
    protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
     super.processTemplate("/user/regist",req,resp);//调用了类的方法,其实这个地方可以选择转发更方便!
    }

web.xml的設定:

    <servlet-name>jump</servlet-name>
    <servlet-class>database.jump</servlet-class>
  </servlet>
  <servlet-mapping>
    <servlet-name>jump</servlet-name>
    <url-pattern>/jump</url-pattern>
  </servlet-mapping>

或是在Java檔案中加上一個@WebServlet("/login")。

當然我們也可以把靜態資源給放在WEB-INF外面和static同級別,一般放在外面則需要使用`攔截器/過濾器,來完成權限驗證判斷合法用戶。

以上是Java Web專案存取不到html檔案怎麼解決的詳細內容。更多資訊請關注PHP中文網其他相關文章!

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