JavaWeb踩坑記錄之項目訪問不到html文件

踩坑問題和原因

踩坑問題

由於博主的JavaWeb是速成所以對一些知識點掌握的不是很熟,所以也就出現瞭今天這個問題——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同級別,一般放在外面則需要使用`攔截器/過濾器,來完成權限驗證判斷合法用戶。

踩坑總結

總的來說還是博主知識掌握不牢而導致的一個簡單的錯誤,但是人不就是在錯誤中成長。在錯誤中提升自己的不足!

到此這篇關於JavaWeb踩坑記錄之項目訪問不到html文件的文章就介紹到這瞭,更多相關JavaWeb項目訪問不到html內容請搜索WalkonNet以前的文章或繼續瀏覽下面的相關文章希望大傢以後多多支持WalkonNet!

推薦閱讀: