【本文简介】

本文将提供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. CMSGC造成内存碎片的解决方法

    我们知道,CMSGC在老生代回收时产生的内存碎片会导致老生代的利用率变低:或者可能在老生代总内存大小足够的情况下,却不能容纳新生代的晋升行为(由于没有连续的内存空间可用),导致触发FullGC.针对这 ...

  2. vim编码设置

    转载于:http://www.cnblogs.com/freewater/archive/2011/08/26/2154602.html vim 编码方式的设置和所有的流行文本编辑器一样,Vim 可以 ...

  3. C语言编写的PHP框架--yaf入门编程

    首先--添加dll,修改php.ini--不同的版本,不同的需求 其次,根据教程http://www.laruence.com/manual/tutorial.firstpage.html#tutor ...

  4. 【BZOJ】2019: [Usaco2009 Nov]找工作(spfa)

    http://www.lydsy.com/JudgeOnline/problem.php?id=2019 spfa裸题.....将飞机场的费用变成负,然后spfa找正环就行了 #include < ...

  5. 【python】模块测试 if name main

    verbose=1 def listing(module): if verbose: print '-'*30 print 'name:',module.__name__,'file:',module ...

  6. 化学绘图软件ChemDraw真的什么都能干!

    今天要介绍的就是一款无所不能的化学绘图软件——ChemDraw,绘制平面化学结构.生成立体化学模型.查询化学信息.编写化学脚本.计算化学数据等等,堪称化学界的必备神器. 化学软件ChemDraw免费获 ...

  7. Access 是/否 字段

    Microsoft Access 数据库引擎 SQL 数据类型包含由 Microsoft® Jet 数据库引擎定义的 13 种主要数据类型,以及若干可识别为这些数据类型的有效同义词. 其中,在工作中遇 ...

  8. caffe 网络参数设置

    weight_decay防止过拟合的参数,使用方式: 样本越多,该值越小 模型参数越多,该值越大 一般建议值: weight_decay: 0.0005 lr_mult, decay_mult 关于偏 ...

  9. 2、手把手教React Native实战之从React到RN

    ###React简介 RN是基于React设计,了解React有助于我们开发RN应用: React希望将功能分解化,让开发变得像搭积木一样,快速而且可维护 React主要有如下3个特点: *作为UI( ...

  10. ng-template

    一,锚点链接 定义锚点: <a href="#login" class="btn btn-primary">Login</a> < ...