1. 程式人生 > >在JSP中相關路徑問題(***)

在JSP中相關路徑問題(***)

一、獲取方式

(1) 得到包含工程名的當前頁面全路徑:request.getRequestURI()
結果:/news/main/list.jsp

(2) 得到工程名:request.getContextPath()
結果:/news

(3) 得到當前頁面所在目錄下全名稱:request.getServletPath()
結果:如果頁面在jsp目錄下 /main/list.jsp 

(4) 得到IE位址列地址:request.getRequestURL()
結果:http://localhost:8080/news/main/list.jsp

(5) 得到相對地址:request.getRequestURI()
結果:/news/main/list.jsp  

(6) 得到頁面所在伺服器的全路徑:application.getRealPath("頁面.jsp")/getServletContext().getRealPath("temp"))
結果:D:\resin\webapps\news\main\list.jsp/D:\Java\apache-tomcat-7.0.90\webapps\netdisks\temp(絕對路徑)

(7) 得到頁面所在伺服器的絕對路徑:absPath=new File(application.getRealPath(request.getRequestURI())).getParent();
結果:D:\resin\webapps\news

 二、程式碼演示

	<%
		String projectName = request.getContextPath();//工程名稱
		String pagePath = request.getServletPath();//得到當前頁面所在資料夾
		StringBuffer sb  = request.getRequestURL();//IE位址列地址
		String relative = request.getRequestURI();//請求的相對路徑/得到包含工程名的當前頁面全路徑
		String sabsPath = new File(application.getRealPath(request.getRequestURI())).getParent();//請求絕對路徑
		String sabsPath1 = application.getRealPath(request.getRequestURI());//請求絕對路徑
		
		System.out.println("proName:"+projectName);
		System.out.println("pagePath:"+pagePath);
		System.out.println("sb:"+sb.toString());
		System.out.println("relative:"+relative);
		System.out.println("sabsPath:"+sabsPath);
		System.out.println("sabsPath1:"+sabsPath1);
		
		/*
		//該專案名稱:netdisks 路徑:D:/Java/apache-tomcat-t.0.90
		proName:/netdisks
		pagePath:/index.jsp
		sb:http://127.0.0.1/netdisks/index.jsp
		relative:/netdisks/index.jsp
		sabsPath:D:\Java\apache-tomcat-7.0.90\webapps\netdisks\netdisks
		sabsPath1:D:\Java\apache-tomcat-7.0.90\webapps\netdisks\netdisks\index.jsp
		*/
	%>