IDEA JavaWeb項(xiàng)目啟動(dòng)運(yùn)行后出現(xiàn)404錯(cuò)誤的解決方法
404這個(gè)錯(cuò)誤真的是一言難盡!不過大多是配置文件出錯(cuò),認(rèn)真修改還是可以的
1.web.xml配置錯(cuò)誤:
默認(rèn)首頁(yè)沒有寫的,在web.xml添加一個(gè)就行(前提是你有jsp頁(yè)面,名字不要寫錯(cuò)):
比如這個(gè):
<welcome-file-list> <welcome-file>Login.jsp</welcome-file> </welcome-file-list>
2.IDEA JavaWeb項(xiàng)目運(yùn)行找不到對(duì)應(yīng)Servlet映射的JSP頁(yè)面
在servlet3.0以后提供了注解配置,這樣就不需要在web.xml中配置。使用IDEA生成的servlet文件的注解配置如下(第一行):
@WebServlet(value = "/AdminServlet")
public class AdminServlet extends HttpServlet {
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
doPost(request, response);
}
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
}
}

對(duì)于怎樣配置請(qǐng)看:
路徑:File > Settings > Editor > File and Code Templates > Other > Web > Java code templates 下第二個(gè)點(diǎn)開右邊編輯模板
如下(這是我的模板):
#if (${PACKAGE_NAME} && ${PACKAGE_NAME} != "")package ${PACKAGE_NAME};#end
#parse("File Header.java")
@javax.servlet.annotation.WebServlet(value = "/${Entity_Name}")
public class ${Class_Name} extends javax.servlet.http.HttpServlet {
protected void doGet(javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response) throws javax.servlet.ServletException, java.io.IOException {
doPost(request,response);
}
protected void doPost(javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response) throws javax.servlet.ServletException, java.io.IOException {
}
}
3.創(chuàng)建了一個(gè)和以前項(xiàng)目名稱相同的項(xiàng)目(項(xiàng)目名稱結(jié)構(gòu)一樣),把以前的覆蓋了 然后運(yùn)行就404了;
第一時(shí)間想到的就是配置文件有錯(cuò)就開始找 :這個(gè)是我剛發(fā)現(xiàn)的解決辦法:
啟動(dòng)運(yùn)行后跳轉(zhuǎn)的頁(yè)面發(fā)現(xiàn)不是你定義的頁(yè)面報(bào)404錯(cuò)誤,這就需要你在workspace.xml里面找了:
你的項(xiàng)目名 > .idea > workspace.xml,找到里面不是你首次跳轉(zhuǎn)的jsp的名字,修改為你定義的jsp名字
具體在這里:把名字修改一下就好了

<component name="RunManager"> <configuration name="tomcat" type="#com.intellij.j2ee.web.tomcat.TomcatRunConfigurationFactory" factoryName="Local" APPLICATION_SERVER_NAME="Tomcat 7.0.47" ALTERNATIVE_JRE_ENABLED="true" ALTERNATIVE_JRE_PATH="C:\Program Files\Java\jdk1.8.0_191\jre"> <option name="OPEN_IN_BROWSER_URL" value="http://localhost:8080/Login.jsp" /> <option name="UPDATING_POLICY" value="restart-server" /> <deployment> <artifact name="SuShe:war exploded"> <settings> <option name="CONTEXT_PATH" value="/" /> </settings> </artifact> </deployment> <server-settings> <option name="BASE_DIRECTORY_NAME" value="Login_jsp_SuShe" /> </server-settings> <predefined_log_file id="Tomcat" enabled="true" /> <predefined_log_file id="Tomcat Catalina" enabled="true" /> <predefined_log_file id="Tomcat Manager" enabled="false" /> <predefined_log_file id="Tomcat Host Manager" enabled="false" /> <predefined_log_file id="Tomcat Localhost Access" enabled="false" /> <RunnerSettings RunnerId="Debug"> <option name="DEBUG_PORT" value="61238" /> </RunnerSettings> <ConfigurationWrapper VM_VAR="JAVA_OPTS" RunnerId="Cover"> <option name="USE_ENV_VARIABLES" value="true" /> <STARTUP> <option name="USE_DEFAULT" value="true" /> <option name="SCRIPT" value="" /> <option name="VM_PARAMETERS" value="" /> <option name="PROGRAM_PARAMETERS" value="" /> </STARTUP> <SHUTDOWN> <option name="USE_DEFAULT" value="true" /> <option name="SCRIPT" value="" /> <option name="VM_PARAMETERS" value="" /> <option name="PROGRAM_PARAMETERS" value="" /> </SHUTDOWN> </ConfigurationWrapper> <ConfigurationWrapper VM_VAR="JAVA_OPTS" RunnerId="Debug"> <option name="USE_ENV_VARIABLES" value="true" /> <STARTUP> <option name="USE_DEFAULT" value="true" /> <option name="SCRIPT" value="" /> <option name="VM_PARAMETERS" value="" /> <option name="PROGRAM_PARAMETERS" value="" /> </STARTUP> <SHUTDOWN> <option name="USE_DEFAULT" value="true" /> <option name="SCRIPT" value="" /> <option name="VM_PARAMETERS" value="" /> <option name="PROGRAM_PARAMETERS" value="" /> </SHUTDOWN> </ConfigurationWrapper> <ConfigurationWrapper VM_VAR="JAVA_OPTS" RunnerId="Run"> <option name="USE_ENV_VARIABLES" value="true" /> <STARTUP> <option name="USE_DEFAULT" value="true" /> <option name="SCRIPT" value="" /> <option name="VM_PARAMETERS" value="" /> <option name="PROGRAM_PARAMETERS" value="" /> </STARTUP> <SHUTDOWN> <option name="USE_DEFAULT" value="true" /> <option name="SCRIPT" value="" /> <option name="VM_PARAMETERS" value="" /> <option name="PROGRAM_PARAMETERS" value="" /> </SHUTDOWN> </ConfigurationWrapper> <method v="2"> <option name="BuildArtifacts" enabled="true"> <artifact name="SuShe:war exploded" /> </option> </method> </configuration> </component>
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
IDEA之啟動(dòng)參數(shù),配置文件默認(rèn)參數(shù)的操作
這篇文章主要介紹了IDEA之啟動(dòng)參數(shù),配置文件默認(rèn)參數(shù)的操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2021-01-01
使用Feign傳遞請(qǐng)求頭信息(Finchley版本)
這篇文章主要介紹了使用Feign傳遞請(qǐng)求頭信息(Finchley版本),具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-03-03
JAVA中ArrayList和數(shù)組的轉(zhuǎn)換與遇到的問題解決
做研發(fā)的朋友都知道,在項(xiàng)目開發(fā)中經(jīng)常會(huì)碰到ArrayList與數(shù)組類型之間的相互轉(zhuǎn)換,這篇文章主要給大家介紹了關(guān)于JAVA中ArrayList和數(shù)組的轉(zhuǎn)換與遇到的問題解決,文中通過實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下2023-05-05
java?Export大量數(shù)據(jù)導(dǎo)出和打包
這篇文章主要為大家介紹了java?Export大量數(shù)據(jù)的導(dǎo)出和打包實(shí)現(xiàn)過程,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-06-06
myBatis組件教程之緩存的實(shí)現(xiàn)與使用
這篇文章主要給大家介紹了關(guān)于myBatis組件教程之緩存的實(shí)現(xiàn)與使用的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2018-11-11
springboot使用filter獲取自定義請(qǐng)求頭的實(shí)現(xiàn)代碼
這篇文章主要介紹了springboot使用filter獲取自定義請(qǐng)求頭的實(shí)例代碼,代碼簡(jiǎn)單易懂,非常不錯(cuò),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2019-05-05
Java JVM運(yùn)行時(shí)數(shù)據(jù)區(qū)(Run-Time Data Areas)
運(yùn)行時(shí)數(shù)據(jù)區(qū),是java虛擬機(jī)定義的在程序執(zhí)行期間使用的各種運(yùn)行時(shí)的數(shù)據(jù)區(qū),通過JVM運(yùn)行時(shí)數(shù)據(jù)區(qū)圖例給大家展示的很詳細(xì),對(duì)JVM 運(yùn)行時(shí)數(shù)據(jù)區(qū)相關(guān)知識(shí)感興趣的朋友跟隨小編一起看看吧2021-06-06

