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

解決辦法
在上述中也說(shuō)了,直接訪問(wèn)是訪問(wèn)不到的。但是我們能通過(guò)轉(zhuǎn)發(fā)和請(qǐng)求來(lái)對(duì)html文件進(jìn)行訪問(wèn)。而在本次項(xiàng)目中,博主是采用的請(qǐng)求訪問(wèn)。也就是說(shuō),先是前端發(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è)類(lèi),這個(gè)類(lèi)就是用來(lái)解析html時(shí)用的。
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
super.processTemplate("/user/regist",req,resp);//調(diào)用了類(lèi)的方法,其實(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í)別,一般放在外面則需要使用`攔截器/過(guò)濾器,來(lái)完成權(quán)限驗(yàn)證判斷合法用戶(hù)。
踩坑總結(jié)
總的來(lái)說(shuō)還是博主知識(shí)掌握不牢而導(dǎo)致的一個(gè)簡(jiǎn)單的錯(cuò)誤,但是人不就是在錯(cuò)誤中成長(zhǎng)。在錯(cuò)誤中提升自己的不足!
到此這篇關(guān)于JavaWeb踩坑記錄之項(xiàng)目訪問(wèn)不到html文件的文章就介紹到這了,更多相關(guān)JavaWeb項(xiàng)目訪問(wèn)不到html內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
- Java實(shí)現(xiàn)文件上傳到服務(wù)器本地并通過(guò)url訪問(wèn)的方法步驟
- 使用Java7的Files工具類(lèi)和Path接口來(lái)訪問(wèn)文件的方法
- Java編程利用socket多線(xiàn)程訪問(wèn)服務(wù)器文件代碼示例
- Spring MVC訪問(wèn)靜態(tài)文件_動(dòng)力節(jié)點(diǎn)Java學(xué)院整理
- Java class文件格式之訪問(wèn)標(biāo)志信息_動(dòng)力節(jié)點(diǎn)Java學(xué)院整理
- Java訪問(wèn)Hadoop分布式文件系統(tǒng)HDFS的配置說(shuō)明
- Java文件拒絕訪問(wèn)問(wè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è)試,本文通過(guò)實(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

