【本文简介】

本文将提供javaWeb中经常使用到的相对路径的获取方法,分别有:

  1. url基本地址
  2. 带目录的url地址
  3. 服务器的根路径
  4. 服务器所在的 本地磁盘路径
  5. 服务器所在的本地磁盘路径,带文件夹
  6. SRC目录下的文件的路径,带文件夹

并封装成一个工具类,以便复用。

【java代码】

 package com.zjm.www.util;

 import javax.servlet.http.HttpServletRequest;

 /**
* @描述 : 获取各种相对路径的工具类
* @作者 :小M
* @博客 : http://www.cnblogs.com/xiaoMzjm/
* @时间 : 2014/07/30
*/
public class PathUtil{ /**
* 获取服务的url基本地址
* @param request 请求
* @return 例如:http://localhost:8080/test/ , 其中test为项目名
*/
public static String getServerPath(HttpServletRequest request){
String path = request.getContextPath();
String basePath = request.getScheme() + "://"+ request.getServerName() + ":" + request.getServerPort()+ path + "/"; return basePath;
}
/**
* 获取带目录的url地址
* @param request 请求
* @param folderName 文件夹名 ,例如:DownLoadFile
* @return 例如:http://localhost:8080/test/DownLoadFile
*/
public static String getServerPath(HttpServletRequest request,String folderName){
String path = request.getContextPath();
String basePath = request.getScheme() + "://"+ request.getServerName() + ":" + request.getServerPort()+ path + "/";
return basePath+folderName;
}
/**
* 获取服务器的根路径
* @param request 请求
* @return 例如:/test , 其中test为项目名
*/
public static String getServerContextPath(HttpServletRequest request){
String path = request.getContextPath();
return path;
} /**
* 获取服务器所在的 本地磁盘路径
* @param request 请求
* @return 例如:D:\D\sofe\apache-tomcat-8.0.5\webapps\test , 其中test为项目名
*/
public static String getDiskPath(HttpServletRequest request){
String path = request.getServletContext().getRealPath("/")+"\\";
return path;
}
/**
* 获取服务器所在的本地磁盘路径,带文件夹
* @param request 请求
* @param folderName 文件夹名 ,例如:DownLoadFile
* @return 例如:D:\D\sofe\apache-tomcat-8.0.5\webapps\test\DownLoadFile
*/
public static String getDiskPath(HttpServletRequest request,String folderName){
String path = request.getServletContext().getRealPath("/")+"\\";
return path+folderName;
} /**
* 获取SRC目录下的文件的路径,带文件夹
* @param folderName
* @return 例如:/F:/myEclipse2013WokeSpace/TestByServlet/WebRoot/WEB-INF/classes/test.txt
*/
public String getSRCPath(String folderName){
String path = this.getClass().getClassLoader().getResource(folderName).getPath();
return path;
}
}

【该工具类附件】

复制在浏览器打开既可下载。

http://files.cnblogs.com/xiaoMzjm/PathUtil.rar

servlet中获取各种相对地址(服务器、服务器所在本地磁盘、src等)。的更多相关文章

  1. Web版需求征集系统所得1,servlet中获取checkbox复选框的值

    servlet中获取checkbox复选框的值 </tr> <tr> <td align="right">研究类型</td> < ...

  2. jsp内置对象pageContext如何在Servlet中获取值

    pageContext javax.servlet.jsp.PageContext 的实例,该对象代表该JSP 页面上下文,使用该对象可以访问页面中的共享数据.常用的方法有getServletCont ...

  3. 在Servlet中获取Spring注解的bean

    最近由于项目中出现了Servlet调用Spring的bean,由于整个项目中所有的bean均是注解方式完成,如@Service,@Repository,@Resource等,但是Spring的容器管理 ...

  4. 本地Linux虚拟机内网穿透,服务器文件下载到本地磁盘

    本地Linux虚拟内网穿透 把服务器文件下载到本地磁盘 https://natapp.cn/ 1.注册账户点击免费隧道  

  5. Servlet中获取JSP内置对象

    方便自己查询,嫌低级的勿喷.... 1.request 在servlet的doGet和doPost的参数中就有HttpServletRequest req参数,而JSP内置request对象就是Htt ...

  6. Servlet中获取Spring管理的bean

    描述: 在Servlet中调用Spring管理的接口,可以使Dao/Service/ServiceImpl. 前提是在调用的bean中有注解: @Repository("beanName&q ...

  7. Servlet中获取POST请求的参数

    在servlet.filter等中获取POST请求的参数 form表单形式提交post方式,可以直接从 request 的 getParameterMap 方法中获取到参数 JSON形式提交post方 ...

  8. web.xml中在Servlet中获取context-param和init-param内的参数

    引自:http://blog.csdn.net/yakson/article/details/9203231 web.xml里面可以定义两种参数:1.application范围内的参数,存放在serv ...

  9. servlet中获取配置文件中的参数.

    web.xml (添加init-param) <?xml version="1.0" encoding="UTF-8"?> <web-app ...

随机推荐

  1. struts解决form提交的中文参数乱码问题

    根据struts的工作原理,原文摘自<Java Web 开发实战经典> 在运行一个JSP页面前,会调用指定的ActionForm中的reset()方法,进行表单元素的初始化 因此,在相应的 ...

  2. Spark1.5堆内存分配

    这是spark1.5及以前堆内存分配图 下边对上图进行更近一步的标注,红线开始到结尾就是这部分的开始到结尾 spark 默认分配512MB JVM堆内存.出于安全考虑和避免内存溢出,Spark只允许我 ...

  3. java为啥计算时间从1970年1月1日开始

    http://www.myexception.cn/program/1494616.html ————————————————————————————————————————————————————— ...

  4. 长尾分布,重尾分布(Heavy-tailed Distribution)

    Zipf分布: Zipf分布是一种符合长尾的分布: 就是指尾巴很长的分布.那么尾巴很长很厚的分布有什么特殊的呢?有两方面:一方面,这种分布会使得你的采样不准,估值不准,因为尾部占了很大部分.另一方面, ...

  5. 【BZOJ】1827: [Usaco2010 Mar]gather 奶牛大集会(树形dp)

    http://www.lydsy.com/JudgeOnline/problem.php?id=1827 仔细想想就好了,, 每个点维护两个值,一个是子树的费用,一个是除了子树和自己的费用.都可以用d ...

  6. jquery page

  7. 你很熟悉CSS,却没掌握这些CSS技巧

    转载来自 http://www.html5cn.org/article-9294-1.html 做前端开发的人都很熟悉CSS,一个漂亮的网页由HTML标签和控制这些标签布局的CSS组成,因此CSS在开 ...

  8. 2015InfoQ软件大会技术记录

    前述 参加infoq软件大会,最大的感触就是,互联网行业的技术发展日新月异:由市场痛点.用户痛点.开发痛点所驱动的技术变革更是遍地开花.新的技术新的思维也是层出不穷:大会中频频提到的高扩展高可用架构. ...

  9. .net webapi项目跨域问题及解决方案

    问题: 1.项目完成,部署到不同的iis版本上,跨域访问有的通有的不通 解决办法: 1.将复杂请求改为简单请求 2.代码中去掉所有跨域设置,配置中添加或修改节点 <system.webServe ...

  10. Arcgis for Js之GeometryService实现測量距离和面积

    距离和面积的測量时GIS常见的功能.在本节,讲述的是通过GeometryService实现測量面积和距离.先看看实现后的效果: watermark/2/text/aHR0cDovL2Jsb2cuY3N ...