servlet中获取各种相对地址(服务器、服务器所在本地磁盘、src等)。
【本文简介】
本文将提供javaWeb中经常使用到的相对路径的获取方法,分别有:
- url基本地址
- 带目录的url地址
- 服务器的根路径
- 服务器所在的 本地磁盘路径
- 服务器所在的本地磁盘路径,带文件夹
- SRC目录下的文件的路径,带文件夹
并封装成一个工具类,以便复用。
【java代码】
1 package com.zjm.www.util; 2 3 import javax.servlet.http.HttpServletRequest; 4 5 /** 6 * @描述 : 获取各种相对路径的工具类 7 * @作者 :小M 8 * @博客 : http://www.cnblogs.com/xiaoMzjm/ 9 * @时间 : 2014/07/30 10 */ 11 public class PathUtil{ 12 13 /** 14 * 获取服务的url基本地址 15 * @param request 请求 16 * @return 例如:http://localhost:8080/test/ , 其中test为项目名 17 */ 18 public static String getServerPath(HttpServletRequest request){ 19 String path = request.getContextPath(); 20 String basePath = request.getScheme() + "://"+ request.getServerName() + ":" + request.getServerPort()+ path + "/"; 21 22 return basePath; 23 } 24 /** 25 * 获取带目录的url地址 26 * @param request 请求 27 * @param folderName 文件夹名 ,例如:DownLoadFile 28 * @return 例如:http://localhost:8080/test/DownLoadFile 29 */ 30 public static String getServerPath(HttpServletRequest request,String folderName){ 31 String path = request.getContextPath(); 32 String basePath = request.getScheme() + "://"+ request.getServerName() + ":" + request.getServerPort()+ path + "/"; 33 return basePath+folderName; 34 } 35 /** 36 * 获取服务器的根路径 37 * @param request 请求 38 * @return 例如:/test , 其中test为项目名 39 */ 40 public static String getServerContextPath(HttpServletRequest request){ 41 String path = request.getContextPath(); 42 return path; 43 } 44 45 /** 46 * 获取服务器所在的 本地磁盘路径 47 * @param request 请求 48 * @return 例如:D:\D\sofe\apache-tomcat-8.0.5\webapps\test , 其中test为项目名 49 */ 50 public static String getDiskPath(HttpServletRequest request){ 51 String path = request.getServletContext().getRealPath("/")+"\\"; 52 return path; 53 } 54 /** 55 * 获取服务器所在的本地磁盘路径,带文件夹 56 * @param request 请求 57 * @param folderName 文件夹名 ,例如:DownLoadFile 58 * @return 例如:D:\D\sofe\apache-tomcat-8.0.5\webapps\test\DownLoadFile 59 */ 60 public static String getDiskPath(HttpServletRequest request,String folderName){ 61 String path = request.getServletContext().getRealPath("/")+"\\"; 62 return path+folderName; 63 } 64 65 /** 66 * 获取SRC目录下的文件的路径,带文件夹 67 * @param folderName 68 * @return 例如:/F:/myEclipse2013WokeSpace/TestByServlet/WebRoot/WEB-INF/classes/test.txt 69 */ 70 public String getSRCPath(String folderName){ 71 String path = this.getClass().getClassLoader().getResource(folderName).getPath(); 72 return path; 73 } 74 }
【该工具类附件】
复制在浏览器打开既可下载。
https://files.cnblogs.com/xiaoMzjm/PathUtil.rar