由於博主的JavaWeb是速成所以對一些知識點掌握的不是很熟,所以也就出現了今天這個問題&mdash ;—Tomcat存取不到html檔案。
在運行是總是會出現404。每次出現這個都很煩,讓人摸不著頭緒。雖然這個問題其實對某些項目沒有很大的影響,但是他會讓我的專案目錄會很雜亂。總的來說該問題就是不解決它,就會出現一堆靜態資源都在一個資料夾中。這可能會導致後期找一些專案的文件就得找半天。
由於粗心的我把一些html檔案都放在WEB-INF下面。因為WEB-INF下的資源不能直接存取(WEB-INF是Java的web應用程式安全目錄,只對服務端開放,對客戶端是不可見的。),只能透過請求和轉送過去。所以在瀏覽器上面是訪問不到的(重定向也是不行的)。
在上述中也說了,直接存取是無法存取的。但是我們能透過轉發和請求來對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中文網其他相關文章!