簡體   English   中英

相對網址和絕對網址的區別

[英]relative url and absolute url difference

servlet容器中的相對URL和絕對URL有什么區別。 例如,如果在webinf文件夾下有一個名為forum.jsp的jsp。 當我想將當前請求從同一webinf文件夾下的當前jsp文件分派到jsp時,以下正確方法是

/forum.jsp

相對URL表示相對於web-inf文件夾或相對於jsp的位置。

絕對網址為: http://stackoverflow.com/questions/3591899/relative-url-and-absolute-url-difference : http://stackoverflow.com/questions/3591899/relative-url-and-absolute-url-difference

相對網址是: /questions/3591899/relative-url-and-absolute-url-difference

同樣, 相對URL可以只是: ../questions/3591899/relative-url-and-absolute-url-difference relative-url- ../questions/3591899/relative-url-and-absolute-url-difference具體取決於鏈接頁面位於何處...

./3591899/relative-url-and-absolute-url-difference如果鏈接頁面位於questions文件夾中)

我建議始終使用相對網址 ...這會變得很困難,請繼續嘗試使用它們...


一個問題,為什么您的JSP位於WEB-INF/文件夾中?

您無權訪問WEB-INF文件夾下的JSP ,如果嘗試訪問它,服務器將拋出404 error J2EE僅在此文件夾下查找類和庫。

絕對URL是包含方案的URL(例如http: 相對URL不包括該方案,因此取決於當前上下文。

如何解釋相對URL有點復雜。 這完全取決於使用URL的上下文。 例如在Web瀏覽器,Servlet中,甚至在本地磁盤文件系統中( java.io.File等)。

在servlet上下文中進行交談時,當相對URL以/開頭時,它將相對於上下文根(即webcontent文件夾的根, /WEB-INF文件夾所在的位置以及所有JSP文件所在的位置) 。

因此,當您要將請求轉發到/WEB-INF/forums.jsp ,只需將其指定為:

request.getRequestDispatcher("/WEB-INF/forums.jsp").forward(request, response);

但是,當相對URL並非以/開頭時,它將相對於當前請求URL。 因此,當請求URL例如是http://example.com/context/servlets/servletname且您使用相對URL forums.jsp ,則以下內容

request.getRequestDispatcher("forums.jsp").forward(request, response);

實際上將指向http://example.com/context/servlets/forums.jsp

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM