【本文简介】

本文将提供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. jquerymobile动态添加元素之后

      jquerymobile动态添加元素之后有些不能被正确渲染的解决方法:listview: 添加 jq(".detail").listview("refresh&quo ...

  2. js删除数组中某一项,splice()

    ' ","childTagName":"高中"}, {","childTagName":"初中"}] ...

  3. mybatis慢查询配置

    <?xml version="1.0" encoding="UTF-8"?> <!--suppress SpringFacetInspecti ...

  4. 成功抓取douban 所有电影

    之前爬了250,想爬所有的电影 Rule(LinkExtractor(allow=(r'https://movie.douban.com/subject/\d+')), callback=" ...

  5. nested exception is java.lang.VerifyError: Expecting a stackmap frame at bra

    Caused by: java.lang.VerifyError: Expecting a stackmap frame (2016-05-19 09:56:29) 转载▼ 标签: it 分类: Ja ...

  6. 什么是 end-to-end 神经网络?——知乎解答

    什么是 end-to-end 神经网络? https://www.zhihu.com/question/51435499 解答1 张旭 像机器一样学习,像人一样生活 YJango 等   端到端指的是 ...

  7. 框架一般用作Java应用程序的窗口,而Applet是Java小程序的窗口

    框架一般用作Java应用程序的窗口,而Applet是Java小程序的窗口. 与Frame不同,Applet是在网页中显示的,也可以通过添加Panel进行组件布局. package TomAwt; im ...

  8. (转)java synchronised关键字

    转自:http://www.cnblogs.com/mengdd/archive/2013/02/16/2913806.html Java 多线程(六) synchronized关键字详解 Java ...

  9. 如何结合IbatisNet的LIST遍历实现模糊查询

    我仿照Java的Spring+Ibatis+Struct用Castle+IBatisNet+Asp.net的开发框架的DAO的基类:BaseSqlMapDao内定义了一个内部类来辅助模糊查询.内部类代 ...

  10. 【原】eclipse使用技巧之代码编辑器分隔窗口

    相信很多使用Intellj IDE的朋友对其split screen功能赞赏有加!其实在eclipse中也可以方便地代码编辑多windows.多views!但是隐藏的有点深,很多朋友不常用到,甚至以为 ...