① 怎麼用eclipse修改web工程的訪問路徑
1、首先在電腦上打開eclipse,找到自己要修改的項目,滑鼠右鍵點擊。
② java web路徑
1 所謂的根目錄指的是/blog 還是 /WebRoot 答:在你項目已經發布後,/blog和/WebRoot是一樣的。指的是同一個目錄,在項目工程發布後,就沒有/WebRoot這個目錄了,只有/blog目錄,這個目錄下邊的內容就是/WebRoot下邊的內容。 2 轉發resuest.getRequestDispatcher("這里的相對路徑是什麼").forward(request,response); 答:這里的相對路徑是帶/的路徑,是從當前應用開始的路徑,也就是從根目錄開始的路徑。瀏覽器地址欄不變。 3 重定向response.sendRedirect("這里的相對路徑是什麼"); 答:這里的相對路徑是帶/的路徑,是從當前應用開始的路徑,也就是從根目錄開始的路徑。瀏覽器地址欄會變,相當於兩次請求。
③ 怎麼在一個java程序里獲得當前web應用的路徑
在java中獲得文件的路徑在我們做上傳文件操作時是不可避免的。
web 上運行
1:this.getClass().getClassLoader().getResource("/").getPath();
this.getClass().getClassLoader().getResource("").getPath(); 得到的是 ClassPath的絕對URI路徑。
如:/D:/jboss-4.2.2.GA/server/default/deploy/hp.war/WEB-INF/classes/
System.getProperty("user.dir");
this.getClass().getClassLoader().getResource(".").getPath(); 得到的是 項目的絕對路徑。
如:/D:/jboss-4.2.2.GA/server/default/deploy/hp.war
2:this.getClass().getResource("/").getPath();
this.getClass().getResource("").getPath(); 得到的是當前類 文件的URI目錄。
如:/D:/jboss-4.2.2.GA/server/default/deploy/hp.war/WEB-INF/classes/com/jebel/helper/
this.getClass().getResource(".").getPath(); X 不 能運行
3:Thread.currentThread().getContextClassLoader().getResource("/").getPath()
Thread.currentThread().getContextClassLoader().getResource("").getPath() 得到的是 ClassPath的絕對URI路徑。
如:/D:/jboss-4.2.2.GA/server/default/deploy/hp.war/WEB-INF/classes/
Thread.currentThread().getContextClassLoader().getResource(".").getPath() 得到的是 項目的絕對路徑。
如:/D:/jboss-4.2.2.GA/server/default/deploy/hp.war
在本地運行中
1:this.getClass().getClassLoader().getResource("").getPath();
this.getClass().getClassLoader().getResource(".").getPath(); 得到的是 ClassPath的絕對URI路徑。
如:/D:/myProjects/hp/WebRoot/WEB-INF/classes
this.getClass().getClassLoader().getResource(".").getPath(); X 不 能運行
2:this.getClass().getResource("").getPath();
this.getClass().getResource(".").getPath(); 得到的是當前類 文件的URI目錄。
如:/D:/myProjects/hp/WebRoot/WEB-INF/classes/com/jebel/helper/
/D:/myProjects/hp/WebRoot/WEB-INF/classes/ 得到的是 ClassPath的絕對URI路徑。
如:/D:/myProjects/hp/WebRoot/WEB-INF/classes
3:Thread.currentThread().getContextClassLoader().getResource(".").getPath()
Thread.currentThread().getContextClassLoader().getResource("").getPath() 得到的是 ClassPath的絕對URI路徑。。
如:/D:/myProjects/hp/WebRoot/WEB-INF/classes
Thread.currentThread().getContextClassLoader().getResource("/").getPath() X 不 能運行
最後
在Web應用程序中,我們一般通過ServletContext.getRealPath("/")方法得到Web應用程序的根目錄的絕對路徑。
還有request.getContextPath(); 在Weblogic中要用request.getServletContext().getContextPath();但如果打包成war部署到Weblogic伺服器,項目內部並沒有文件結構的概念,用這種方式是始終得到null,獲取不到路徑,目前還沒有找到具體的解決方案。
④ web頁面連接是有相對路徑和絕對路徑,他們之間有什麼區別和聯系
絕對路徑是指比如你把這個index.html頁面放在電腦的真實位置,如:我D:\webapps\index.html,那這個index.html的絕對路徑就是你電腦上的真實路徑"D:\webapps\index.html"
相對路徑是指,如果你要把一個web頁面發布,讓別的電腦能夠訪問,那麼你必須將此頁面放在一個伺服器的目錄,如這個伺服器的目錄是在"D:\webapps"那麼你的網站的index.html的相對路徑就就是"\index.html",如果你頁面還包含了一些圖片文件,圖片文件又另外存放在一個文件夾,如"\img\a.jpg",那麼你這張圖片的絕對路徑就是"D:\webapps\img\a.jpg",你這張圖片的相對路徑就是"\img\a.jpg".