JavaWeb踩坑記錄之項(xiàng)目訪問不到html文件
踩坑問題和原因
踩坑問題
由于博主的JavaWeb是速成所以對(duì)一些知識(shí)點(diǎn)掌握的不是很熟,所以也就出現(xiàn)了今天這個(gè)問題——Tomcat訪問不到html文件。
在運(yùn)行是總是會(huì)出現(xiàn)404。每次出現(xiàn)這個(gè)就很煩,讓人摸不著頭腦。雖然這個(gè)問題其實(shí)對(duì)一些項(xiàng)目沒有很大的影響,但是他會(huì)讓我的項(xiàng)目目錄會(huì)很雜亂??偟膩碚f該問題就是不解決它,就會(huì)出現(xiàn)一堆靜態(tài)資源都在一個(gè)文件夾。這可能會(huì)導(dǎo)致后期找一些項(xiàng)目的文件就得找半天。
踩坑原因
由于粗心的我把一些html文件都放在WEB-INF下面。因?yàn)閃EB-INF下的資源不能直接訪問(WEB-INF是Java的web應(yīng)用安全目錄,只對(duì)服務(wù)端開放,對(duì)客戶端是不可見的。),只能通過請(qǐng)求和轉(zhuǎn)發(fā)過去。所以在瀏覽器上面是訪問不到的(重定向也是不可以的)。

解決辦法
在上述中也說了,直接訪問是訪問不到的。但是我們能通過轉(zhuǎn)發(fā)和請(qǐng)求來對(duì)html文件進(jìn)行訪問。而在本次項(xiàng)目中,博主是采用的請(qǐng)求訪問。也就是說,先是前端發(fā)送信號(hào)到后端——表示我需要請(qǐng)求某個(gè)網(wǎng)頁(yè)。然后后端相對(duì)應(yīng)的做出反應(yīng)然后返回跳轉(zhuǎn)到相對(duì)應(yīng)的界面。
public class regist extends ssm.ViewBaseServlet{//繼承了一個(gè)類,這個(gè)類就是用來解析html時(shí)用的。
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
super.processTemplate("/user/regist",req,resp);//調(diào)用了類的方法,其實(shí)這個(gè)地方可以選擇轉(zhuǎn)發(fā)更方便!
}
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文件中加一個(gè)@WebServlet("/login")。
當(dāng)然我們也可以把靜態(tài)資源給放在WEB-INF外面和static同級(jí)別,一般放在外面則需要使用`攔截器/過濾器,來完成權(quán)限驗(yàn)證判斷合法用戶。
踩坑總結(jié)
總的來說還是博主知識(shí)掌握不牢而導(dǎo)致的一個(gè)簡(jiǎn)單的錯(cuò)誤,但是人不就是在錯(cuò)誤中成長(zhǎng)。在錯(cuò)誤中提升自己的不足!
到此這篇關(guān)于JavaWeb踩坑記錄之項(xiàng)目訪問不到html文件的文章就介紹到這了,更多相關(guān)JavaWeb項(xiàng)目訪問不到html內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
java后端如何調(diào)用第三方接口(往header和body中的參數(shù)傳參)
這篇文章主要介紹了java后端如何調(diào)用第三方接口(往header和body中的參數(shù)傳參),具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-12-12
SpringCloud微服務(wù)應(yīng)用config配置中心詳解
這篇文章主要介紹了SpringCloud微服務(wù)應(yīng)用-config配置中心,包括相關(guān)知識(shí)介紹、搭建、動(dòng)態(tài)刷新、測(cè)試,本文通過實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2022-07-07
詳解BeanUtils.copyProperties()方法如何使用
這篇文章主要為大家介紹了詳解BeanUtils.copyProperties()方法如何使用,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-07-07
Java中System.setProperty()用法與實(shí)際應(yīng)用場(chǎng)景
System.setProperty是Java中用于設(shè)置系統(tǒng)屬性的方法,它允許我們?cè)谶\(yùn)行時(shí)為Java虛擬機(jī)(JVM)或應(yīng)用程序設(shè)置一些全局的系統(tǒng)屬性,下面這篇文章主要給大家介紹了關(guān)于Java中System.setProperty()用法與實(shí)際應(yīng)用場(chǎng)景的相關(guān)資料,需要的朋友可以參考下2024-04-04
SpringMVC使用@ExceptionHandler注解在Controller中處理異常
這篇文章主要為大家介紹了SpringMVC使用@ExceptionHandler注解在Controller中處理異常示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-10-10

