- 浏览: 205020 次
- 性别:
- 来自: 深圳
文章分类
最新评论
-
上官车月:
13shu 写道 有何高见?
getServletContext()接口解析(收藏) -
13shu:
getServletContext()接口解析(收藏)
在项目中文件上传、下载,以及加载配置文件等的时候都存在获取当前文件的相对路径或绝对路径的情况。在Tomcat中一般不存在不能获取文件路径的问题,但是在多服务器处理中,因服务器的不同而获取的路径方式不统一,从而导致获取文件路径等存在差异性。
代码如下
/** * 通过类路径来取工程路 * * @return * @throws Exception */ private String getAbsolutePathByClass() throws Exception { String webPath = this.getClass().getResource("/").getPath().replaceAll("^\\/", ""); webPath = webPath.replaceAll("[\\\\\\/]+", "/"); webPath = webPath.replaceAll("%20", " "); if (webPath.matches("^[a-zA-Z]:.*?$")) { } else { webPath = "/" + webPath; } webPath += "/"; webPath = webPath.replaceAll("[\\\\\\/]+", "/"); // 直接META-INF/context.xml来判断路径是否正(本例当前是根据Tomcat 6.0数据库连接池配置文件来验证获取文件路径是否成功,在实际使用中可根据自己项目来处理) File file = new File(webPath + "META-INF/context.xml"); if (file.exists() && file.isFile()) { return webPath; } else { return null; } } /** * 通过struts servlet来取工程路径 * * @return */ private String getAbsolutePathByResource() throws Exception { URL url = this.getServletContext().getResource("/"); String path = new File(url.toURI()).getAbsolutePath(); if (!path.endsWith("\\") && !path.endsWith("/")) { path += File.separator; } return path; }
这样可以首先采用servlet方式来获取当前路径,在实际应用中也可以采用这样的方式(更具不同项目配置和代码编写方式决定):
String path = servlet.getServletContext().getRealPath("/");
在weblogic、websphere等服务器上面获取不到的情况下可以采用第二种方式,也即就是获取路径的时候多一个 if(){}
注意:在websphere中默认获取到的文件路径是不带最后一个[ \ ]或者[ / ]的,所以如果要支持websphere 建议加上如下代码
if (!path.endsWith("/")) { path += File.separator; }
发表评论
-
apache http日志文件按天生成
2014-06-18 20:10 3494Linux系统配置方法: 将其改为 ErrorLog & ... -
Java各种文件下载处理
2013-05-07 13:19 1122public HttpServletResponse do ... -
Java读取Properties文件
2013-01-31 15:31 998/** * * * @ ... -
判断当前时间是否在限制时间段之内
2013-01-30 19:06 4583/** * 判断当前时间是否在限制时间段之内(是: ... -
Ubuntu 手动安装jdk6
2013-01-17 19:04 10871. 手动安装jdk6 首先, ... -
[Java]读取文件方法大全
2012-12-20 19:59 8471、按字节读取文件内容2、按字符读取文件内容3、按行读取文件内 ... -
Java获取请求客户端的真实IP地址
2012-12-14 17:34 1285通常通过request.getRemoteAddr() 取得客 ... -
Tomcat远程调试
2012-11-22 16:25 908第一步、配置远程tomcat 1、在windows系统中: ... -
项目中整体上中文乱码
2012-11-01 15:40 1087搞一个S2SH项目,在运行时整体上项目中文在IE浏览器 ... -
Lucene 教程
2012-10-15 09:41 892Lucene是apache组织的一个用jav ... -
native2ascii 工具使用
2012-08-31 15:39 949native2ascii.exe 是Java ... -
struts2 upload
2012-08-29 12:46 902所需架包: commons-fileupload-1.2.1 ... -
Axis2 教程
2012-08-28 10:01 1036来源:http://itemdetail.iteye.co ... -
个人学习收集
2012-08-14 14:59 810JAVA编程思想[第四版].pdf ssh学习笔记 ... -
weblogic session丢失
2012-08-06 19:54 3729在处理app为多服务时,iframe跨域存在sess ... -
iframe跨域session丢失
2012-07-04 16:12 1680问题根源: IE6/IE7支持的P3P(Platfo ... -
注册Tomcat服务为系统服务
2012-06-20 16:51 8139将解压版的Tomcat服务注册为系统服务之后,就不用 ... -
eclipse调试时鼠标移动到变量上不显示值的问题
2012-06-20 09:01 1562今天同事问一问题,就说在eclipse中调试时,鼠标移动到 ... -
Publishing failed with multiple errors 异常
2012-06-06 16:17 22264Publishing failed with multiple ... -
Js获取当前日期时间及其它操作
2012-06-06 14:29 1069Js获取当前日期时间 ...
相关推荐
c# 获取相对路径,操作环境变量. 一、获取当前文件的路径 1. System.Diagnostics.Process.GetCurrentProcess().MainModule.FileName 获取模块的完整路径,包括文件名。 2. System.Environment.CurrentDirectory ...
windows linux 下,获取java项目绝对路径的方法,struts2设置了struts.multipart.saveDir后会在根目录建立文件夹,这样会涉及linux下的权限问题
主要功能是使用inno setup制作安装包时,在安装完成之后实现将指定路径添加到用户和系统环境变量的Path中。下载文件后,请参考文件头部的说明进行操作。如有问题,请联系我:wb__sz@163.com。感谢原版作者Jared ...
该文档介绍了如何将Debug与Release的输出路径为同一位置的方法以及如何获取vs工程当前路径的方法。
delphi取系统环境变量 delphi取系统环境变量 delphi取系统环境变量
获取大部分系统中环境变量,包括管理员、当前用户名、系统路径、操作系统参数、处理器参数等
在本篇文章里小编给大家整理的是一篇关于linux中java获取路径的实例代码以及相关知识点,有兴趣的朋友们可以学习参考下。
文件名 无论您的环境如何(Deno,Node.js,Web浏览器,ESM,CJS),都将获取当前文件和目录路径用法没有参数以下适用于ESM(ECMAScript模块)和CJS(CommonJS模块)环境: // for denoimport filedirname from '...
1 项⽬概述 Q学习在机器⼈路径规划领域有较为⼴泛的应⽤,由于其只需要与环境进⾏交互,且仅需感知当前状态和环境即可对下⼀步动作进⾏决策。 本研究以 MATLAB为基础,设计基于Q学习的最短路径规划算法,并考虑智能...
为了优化光网络环境下分布式计算系统的资源调度性能, 提出了一种最先开始路径优先的自适应路由算法。该算法基于Dijkstra最短路径优先算法, 通过引入一个时间标记变量来估计从源节点到当前目标节点的最先可用时间, 绕...
因为使用python+selenium有时候需要获取当前文件的上一级目录,找了一段时间找到了,在此记录下来; ...os.path.abspath(os.path.join(os.path.dirname(__file__),”..”)) #获取当前项目的根路径
获取当前目录: getcwd(); // /mnt/qa/test dirname(__FILE__); // /mnt/qa/test 获取域名或主机地址 $_SERVER['HTTP_HOST']; //daxiangtravel.com 获取网页地址 $_SERVER['PHP_SELF']; // /qa/test/index.php ...
这个脚本,是对pyenv命令的封装,他允许在当前执行器环境里,使用用户指定或者默认的环境执行用户保存的或者系统的命令,并且影响当前环境。 pyinfo: 这个脚本还在开发之中,为用户提供丰富的PC信息等。 这几个...
环境变量是包含关于系统及当前登录用户的环境信息的字符串,一些软件程序使用此信息确定在何处放置文件(如临时文件). 环境变量说白了就是指定一个软件的路径,比如说配置TomcatJdk等软件时就必须设置环境变量。 ...
VB一些与Windows操作系统相关的小技巧集源码,比如删除注册表、删除快捷方式、列出环境变量、建立网络驱动器连接、建立快捷方式、定时关闭提示框、同步和异步执行程序、获得特殊目录。删除相应的键,在删除时,应先...
其实由于运行环境的不同,以上的相对路径的写法导致最后读取的位置是不同的。 正确的写法应该是使用”path.join()”的方式实现:(__dirname表示当前文件的目录名) //require 表示引包,引包就是引用自己的一个特殊...
sys.path 模块搜索路径的字符串列表。由环境变量PYTHONPATH初始化得到。 sys.path[0]是调用Python解释器的当前...获取当前工作路径。在这里是绝对路径。 https://docs.python.org/2/library/os.html#os.getcwd __fi
流星根路径获取服务器上当前正在运行的Meteor应用程序实例的路径。 特征: :nerd_face: 与Windows,Linux和MacOS环境的兼容性; :man::laptop: 全局可用的Meteor.rootPath programs/server目录的绝对路径; :man::...
实验一 Android开发环境搭建 一、实验内容 1) 了解Android开发所需要的开发包和工具,以及获得它们的方式; 2) 下载、安装和配置Android开发包; 3) 测试安装的开发环境,创建了一个Android项目; 4) 在模拟器上运行...
实验一 Android开发环境搭建 一、实验内容 1) 了解Android开发所需要的开发包和工具,以及获得它们的方式; 2) 下载、安装和配置Android开发包; 3) 测试安装的开发环境,创建了一个Android项目; 4) 在模拟器上运行...