![](/img/trans.png)
[英]thrown exception AS-WEB-CORE-00089 on forwarding to a different servlet path
[英]javax.servlet.ServletException: AS-WEB-CORE-00089 exception In servlets
我有一個稱為Document
的servlet,我想將所有以Document
開頭的請求重定向到
http://localhost:8080/CollabEdit/Document/abcdwcklsclds
應該重定向到servlet文檔。 因此,我使用了這樣的注釋:
@WebServlet("/Document/*")
但是,由於某些未知的原因,它給出了一個異常:
javax.servlet.ServletException: AS-WEB-CORE-00089
我打電話后立即拋出Document.java中的異常
request.getRequestDispatched(“ main.html”)。forward(request,response)。 否則也不例外。
但是,在其他servlet中有相同的請求時,可以很好地調用main.html。
forward
和redirect
不是一回事。 重定向使您可以轉到任何URL,最終可以在另一台服務器上或使用另一種協議,因為您要求客戶端查詢該URL。
在轉發中,您要求Servlet容器將控件傳遞給同一應用程序的另一個Servlet(在同一上下文中)。 當您使用相對路徑時,實際上是在請求什么servlet: http://host.do.main/appname/Document/main.html
因為相對URL添加在當前頁面地址的末尾(它是甚至可能是.../Document/.../main.html
)!
並且您聲明了/Document
下的任何頁面都應由Document
servlet服務...因此無限循環...
您可以通過兩種方式修復它:
../main.html
如果從名為/Document
或../../main.html
如果從名為/Document/something
使用絕對路徑:
contextPath = request.getContextPath(); request.getRequestDispatcher(contextPath + "/main.html").forward(request, response)
篩選器看起來正確。
您正在使用Servlets 3.0
且沒有較舊的版本嗎? 在舊版本中,您將必須編輯web.xml
。 在3.0中,它必須看起來像這篇文章
Document
是否擴展HttpServlet
?
您能否向我們展示更多您的代碼,也許那么會更容易發現問題所在。
問候
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.