[問題] 進入專案起始頁出現404

看板java作者 (no anonymous)時間6年前 (2018/09/01 11:29), 6年前編輯推噓1(101)
留言2則, 2人參與, 6年前最新討論串1/1
我在專案內使用DispatherServlet做為分配請求的工具,web.xml的寫法是: <servlet> <servlet-name>SpringMVC</servlet-name> <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class> <init-param> <param-name>contextConfigLocation</param-name> <param-value>classpath:spring.xml</param-value> </init-param> <load-on-startup>1</load-on-startup> </servlet> <servlet-mapping> <servlet-name>SpringMVC</servlet-name> <url-pattern>/</url-pattern> </servlet-mapping> 然後Controller是: @Controller public class EmployeeController { @RequestMapping(path="/", method=RequestMethod.GET) public String goHome(){ return "index1"; } } 在spring.xml設定要掃描註解: <context:component-scan base-package="com.example" /> <mvc:annotation-driven/>專案名稱是TestProject。 看起來只要在瀏覽器輸入:localhost:8080/TestProject/ 即可進入index1.jsp(jsp這個後綴是在spring.xml設定的) 然而我不管怎麼試,結果都是404。 直到後來我又修改專案某個地方並存檔, 我看到Server的console,上面寫著另一個專案的名稱reload, 我覺得奇怪,我修改的是目前的專案,怎麼console顯示的是另一個專案reload? 而且另一個專案其實沒放進server(我server用的是Tomcat)。 我把另一個專案放入Tomcat,看看會發生什麼事。結果跳出: Multiple Contexts have a path of tomcat 我再古哥這個問題,然後照著搜尋結果,修改server的server.xml: <Context docBase="TestProject" path="/TestAnotherProject" reloadable="true" source="org.eclipse.jst.jee.server:TestProject"/> 我把path的名稱改成TestProject,然後再輸入localhost:8080/TestProject/ 就可進入index1.jsp 請問為什麼server.xml會顯示其他專案的名稱? ------------------------------------------------------------ 原因是出在,我這個專案一開始命名後,還有再改名稱,但是專案內有地方, 用到專案名稱的部分,在名稱修改後並沒有同步修改,還是沿用舊的名稱。 所以Tomcat在載入專案時,因此載入舊的專案名稱,這樣就進一步導致Tomcat以為 專案名稱還是舊的,所以我之後url用新的專案名稱時,才會跳出404。 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 1.169.114.245 ※ 文章網址: https://www.ptt.cc/bbs/java/M.1535772590.A.742.html

09/02 07:23, 6年前 , 1F
InternalResourceViewResolver?
09/02 07:23, 1F

09/03 09:54, 6年前 , 2F
TOMCAT的server.xml?
09/03 09:54, 2F
※ 編輯: lueichun (1.167.49.142), 11/21/2018 12:56:49
文章代碼(AID): #1RYWUkT2 (java)
文章代碼(AID): #1RYWUkT2 (java)