關(guān)于idea中Java Web項(xiàng)目的訪問路徑問題
說明
這里只以 servlet 為例,沒有涉及到框架,但其實(shí)路徑的基本原理和框架的關(guān)系不大,所以學(xué)了框架的同學(xué)如果對(duì)路徑有疑惑的也可以閱讀此文
項(xiàng)目結(jié)構(gòu)
在 idea 中新建一個(gè) Java Web 項(xiàng)目,項(xiàng)目的初始結(jié)構(gòu)如下 ( 不同版本的 idea 可能略有區(qū)別 ) :

默認(rèn)訪問路徑
- 當(dāng)我們將項(xiàng)目的基本配置設(shè)置好后,啟動(dòng) Tomcat,會(huì)發(fā)現(xiàn)直接出現(xiàn)的是 index.jsp 頁面,此時(shí)瀏覽器的地址欄顯示的是:
localhost:8080,也就是說項(xiàng)目默認(rèn)跳轉(zhuǎn)到了 index.jsp 頁面,而且打開 web.xml 文件后,我們發(fā)現(xiàn)這里并沒有配置 index.jsp 為首頁,這點(diǎn)要注意 - 非常重要的一點(diǎn):做開發(fā)測(cè)試時(shí),如果用了 index.jsp 這個(gè)頁面做測(cè)試,一定要分清楚項(xiàng)目是啟動(dòng)的時(shí)候直接就跳轉(zhuǎn)到了這個(gè)頁面,還是經(jīng)過了其它的路徑才跳轉(zhuǎn)到了這個(gè)頁面,如果沒有這個(gè)意識(shí)的話,很可能在實(shí)際開發(fā)中會(huì)出現(xiàn)問題,所以一般不推薦用 index.jsp 作為測(cè)試頁面
- 還是之前的設(shè)置不變,當(dāng)我們?cè)跒g覽器輸入
localhost:8080/index.jsp時(shí),會(huì)發(fā)現(xiàn)顯示的仍然是 index.jsp 頁面,也就是說,jsp 頁面的訪問路徑是直接從項(xiàng)目的 web 目錄的下一級(jí)目錄開始的,我們這里的 index.jsp 由于就是直接處于 web 目錄的下一級(jí),所以直接在 localhost:8080/ 后面加上文件名即可
jsp頁面的訪問路徑
由之前的分析可知,如果我們?cè)?web 目錄下新建一個(gè)名為 jsps 的目錄,然后里面有一個(gè)名為 demo.jsp 的文件,那么我們要想訪問到這個(gè)文件,在瀏覽器地址欄中輸入的就是 localhost:8080/jsps/demo.jsp,此時(shí)項(xiàng)目結(jié)構(gòu)如下:

說明: 這里并沒有嚴(yán)格按照 Java Web 項(xiàng)目的結(jié)構(gòu)那樣建立 classes 和 lib 文件夾,然后進(jìn)行配置,但對(duì)于這里要說明的問題而言并沒有影響
servlet文件的訪問路徑
在 src 目錄下新建一個(gè)名為 com.lwx.servlet 的包,然后在這個(gè)包下新建一個(gè)名為 DemoServelt 的 servlet 類,此時(shí)項(xiàng)目結(jié)構(gòu)如下:

- servlet 文件的訪問路徑我們可以在 web.xml 中自己配置(使用的是 url-pattern 標(biāo)簽),或者是使用注解的形式(使用的是 urlPatterns 屬性),不管采用哪種形式,其對(duì)應(yīng)的值都和我們的訪問路徑有關(guān)(如果兩種形式同時(shí)采用,實(shí)測(cè)只有 web.xml 中的配置生效,也就是說此時(shí)如果以注解中配置的路徑來訪問 servlet 是會(huì)報(bào) 404 的)
- 對(duì)于 idea 來說,servlet 的訪問路徑比較簡(jiǎn)單,直接在 localhost:8080 后面加上我們自己配置的值即可
- 如果我們?cè)?web.xml 中對(duì)其所做配置如下,則訪問路徑為
localhost:8080/DemoServlet

特別注意:如果這里的 url-pattern 的值寫的是 /*,那么當(dāng)我們?cè)跒g覽器的地址欄輸入 localhost:8080 甚至是 localhost:8080/index.jsp 或者是 localhost:8080 后面跟上任何合法的字符串,訪問的都是 DemoServlet 這個(gè) servlet 類(細(xì)心的同學(xué)就會(huì)發(fā)現(xiàn)這里雖然輸入了 localhost:8080/index.jsp ,但訪問的并不是 index.jsp 這個(gè)文件,而是 DemoServlet 類)
如果我們使用注解的方式對(duì)其所做配置如下,則訪問路徑為 localhost:8080/DemoServlet

特別注意:name 屬性的值需要和對(duì)應(yīng)的類名一致
idea中獨(dú)有的路徑配置
打開 Run —> Edit Configurations —> Deployment,在右側(cè)有個(gè) Application context,這里的值也是和路徑有關(guān)的

Application context 中填寫的值會(huì)直接加到 localhost:8080 的后面,以之前的例子來說,本來 DemoServlet 這個(gè) servlet 類的訪問路徑是 localhost:8080/DemoServlet,如果在 Application context 中填寫的是 /haha,那么其訪問路徑就變成了 localhost:8080/haha/DemoServlet,對(duì)于 jsp 頁面的訪問路徑也是同樣的道理
到此這篇關(guān)于idea中Java Web項(xiàng)目的訪問路徑問題的文章就介紹到這了,更多相關(guān)idea javaweb訪問路徑內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
- IDEA 2021配置JavaWeb項(xiàng)目超詳細(xì)教程
- 2023最新版IDEA創(chuàng)建javaweb項(xiàng)目的詳細(xì)圖文教程
- InterlliJ IDEA2020新建java web項(xiàng)目找不到Static Web的解決
- IDEA2020.2.3中創(chuàng)建JavaWeb工程的完整步驟記錄
- 解決IDEA導(dǎo)入javaWeb項(xiàng)目注解爆紅的問題
- 使用IDEA創(chuàng)建Java Web項(xiàng)目并部署訪問的圖文教程
- intelij?idea?2023創(chuàng)建java?web項(xiàng)目的完整步驟
- 使用IntelliJ?IDEA創(chuàng)建簡(jiǎn)單的Java?Web項(xiàng)目完整步驟
相關(guān)文章
IDEA 重新導(dǎo)入依賴maven 命令 reimport的方法
這篇文章主要介紹了IDEA 重新導(dǎo)入依賴maven 命令 reimport的相關(guān)知識(shí),本文通過實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-04-04
Spring Security系列教程之會(huì)話管理處理會(huì)話過期問題
會(huì)話過期,是指當(dāng)用戶登錄網(wǎng)站后,較長一段時(shí)間沒有與服務(wù)器進(jìn)行交互,將會(huì)導(dǎo)致服務(wù)器上的用戶會(huì)話數(shù)據(jù)(即session)被銷毀。這篇文章主要介紹了Spring Security系列教程之會(huì)話管理處理會(huì)話過期問題,需要的朋友可以參考下2021-10-10
Java之SpringBoot實(shí)現(xiàn)基本增刪改查(前后端分離版)
這篇文章主要介紹了Java中SpringBoot如何實(shí)現(xiàn)基本的增刪改查,前后端分離版,沒有和前端進(jìn)行聯(lián)系,感興趣的小伙伴可以借鑒閱讀本文2023-03-03
idea編輯XML文件出現(xiàn):Tag name expected報(bào)錯(cuò)的解決
在XML中,一些特殊字符不能直接使用,因?yàn)樗鼈儽槐A粲糜赬ML文檔的結(jié)構(gòu)和語法,如果直接使用這些保留字符,會(huì)導(dǎo)致解析錯(cuò)誤,正確的做法是使用實(shí)體引用或字符引用,或者使用CDATA標(biāo)記將這些字符包裹起來2025-01-01
基于線程的wait和notify使用,生產(chǎn)消費(fèi)案例
這篇文章主要介紹了基于線程的wait和notify使用,生產(chǎn)消費(fèi)案例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2021-08-08
Spring如何按業(yè)務(wù)模塊輸出日志到不同的文件詳解
最近做項(xiàng)目時(shí)有一個(gè)記錄操作日志的需求,比如某個(gè)用戶進(jìn)行了查詢、刪除、修改等操作,下面這篇文章主要給大家介紹了關(guān)于Spring如何按業(yè)務(wù)模塊輸出日志到不同文件的相關(guān)資料,需要的朋友可以參考下2022-05-05

