最近又遇到了這種問題,百度了好久,發現有人說要在action的路徑里面寫Servlet文件的絕對路徑,比如說,單獨打開servlet的地址為http://localhost:8080/TomcatTest/LoginConfServlet,那么就在action里面寫http://localhost:8080/TomcatTest/LoginConfServlet。
我嘗試着將http://localhost:8080移除,只保留/TomcatTest/LoginConfServlet,還是可以成功的。
總結:jsp跳轉到servlet的時候,路徑設置為/項目名/Servlet名。Servlet中dispatcher跳轉到jsp頁面時,也要寫上/文件夾名/jsp文件名。
圖示:
之前遇到了一個問題,在博問中也有記載,最后自己摸索着突然就搞清楚了。
問題就是:新建的動態web項目,發布到tomcat之后,jsp可以單獨訪問,servlet可以單獨訪問,但是通過form表單跳轉到servlet的類則出現404錯誤。
反復研究了很久也沒發現解決方案,可能這是個最基礎的設置吧,根本沒有人解答。
通過學習,我發現最重要的一點就是servlet編譯好之后生成的類,存放位置十分關鍵。
按照默認設置的話,類是存放在build/classes文件夾中的,
但是由於我們建立的jsp文件是存放在web-content文件夾中的,
所以jsp文件沒法找到servlet生成的class文件。
解決方案就是在build path里面重新設置class的輸出文件夾,放到web-inf文件夾下面的classes中,如果沒有這個classes文件夾,則要自己新建一個。
其他關於tomcat設置就不在這里闡述了。