javaweb專案的jsp頁面跳轉問題
在編寫自己的第一個javaweb專案的時候,出現了可以載入首頁面,但是當點選註冊按鈕的時候,頁面跳轉出現了問題,報錯是status404
這個就代表著找不到正確的頁面路徑,於是自己在網上查了很多解釋,都沒有解決,非常苦惱。但突然一次恍然大悟,發現了問題的根本原因:就是自己的jsp檔案存放位置出錯了
這是錯誤的存放位置(這種存放位置就代表著jsp檔案存放在WEB-INF資料夾下)
於是自己改變了一下存放路徑就變成(改到了web資料夾下,就是和生成的index.jsp檔案相同目錄的資料夾下)
於是重新執行專案,然後jsp頁面跳轉問題就迎刃而解了。
對於遇到的同樣的問題,希望能給大家一些幫助。
然後自己也隨便帶一點jsp頁面跳轉的幾種方法(畢竟都是看各種大神的總結後的一點小體會)
下面是三種js頁面的跳轉方式:
1、window.location.href="URL";
2、window.navigate("URL")
3、window.location.replace("URL")
相信對於第一種window.location.href="URL"大家都不陌生,這裡就不多做介紹。第二種window.navigate("URL")這種方式只兼容於IE瀏覽器,不支援火狐啊、谷歌什麼的。
這裡面需要說一下的是window.location.replace(“URL”),我們舉例說明一下:
JSP
跳轉方式大約有三種:
1、轉發:request.getRequestDispatcher(".jsp").forward(request,response);
2、重定向:response.sendRedirect("success.jsp");
注意事項: 1、此語句前不允許有out.flush(),如果有,會有異常:
2、這裡跳轉後,瀏覽器位址列會發生變化,意味著url發生變化 3、要是跳到別的主機上,那語句後面的程式碼會繼續執行,相當於開了一個新的執行緒,但是對於response就沒有意義了,因為你看不到了。
這兩者區別:
request.getRequestDispatcher()是請求轉發,前後頁面共享一個request
response.sendRedirect()是重新定向 前後頁面不是一個request
3、<jsp:forward page="URL"/>注意事項: 1、此語句前也不允許有out.flush(),如果有,會有異常: 2、跳轉後瀏覽器位址列不變,但是隻能跳到當前主機下 3、此語句後面的語句執行完成後才會跳轉 4、跳轉後得路徑變為當前路徑,圖片不是絕對路徑將無法顯示