- 浏览: 208709 次
- 性别:
- 来自: 深圳
文章分类
最新评论
-
上官车月:
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 3535Linux系统配置方法: 将其改为 ErrorLog & ... -
Java各种文件下载处理
2013-05-07 13:19 1152public HttpServletResponse do ... -
Java读取Properties文件
2013-01-31 15:31 1042/** * * * @ ... -
判断当前时间是否在限制时间段之内
2013-01-30 19:06 4627/** * 判断当前时间是否在限制时间段之内(是: ... -
Ubuntu 手动安装jdk6
2013-01-17 19:04 11231. 手动安装jdk6 首先, ... -
[Java]读取文件方法大全
2012-12-20 19:59 8841、按字节读取文件内容2、按字符读取文件内容3、按行读取文件内 ... -
Java获取请求客户端的真实IP地址
2012-12-14 17:34 1308通常通过request.getRemoteAddr() 取得客 ... -
Tomcat远程调试
2012-11-22 16:25 935第一步、配置远程tomcat 1、在windows系统中: ... -
项目中整体上中文乱码
2012-11-01 15:40 1137搞一个S2SH项目,在运行时整体上项目中文在IE浏览器 ... -
Lucene 教程
2012-10-15 09:41 922Lucene是apache组织的一个用jav ... -
native2ascii 工具使用
2012-08-31 15:39 979native2ascii.exe 是Java ... -
struts2 upload
2012-08-29 12:46 973所需架包: commons-fileupload-1.2.1 ... -
Axis2 教程
2012-08-28 10:01 1067来源:http://itemdetail.iteye.co ... -
个人学习收集
2012-08-14 14:59 853JAVA编程思想[第四版].pdf ssh学习笔记 ... -
weblogic session丢失
2012-08-06 19:54 3776在处理app为多服务时,iframe跨域存在sess ... -
iframe跨域session丢失
2012-07-04 16:12 1736问题根源: IE6/IE7支持的P3P(Platfo ... -
注册Tomcat服务为系统服务
2012-06-20 16:51 8182将解压版的Tomcat服务注册为系统服务之后,就不用 ... -
eclipse调试时鼠标移动到变量上不显示值的问题
2012-06-20 09:01 1589今天同事问一问题,就说在eclipse中调试时,鼠标移动到 ... -
Publishing failed with multiple errors 异常
2012-06-06 16:17 22306Publishing failed with multiple ... -
Js获取当前日期时间及其它操作
2012-06-06 14:29 1106Js获取当前日期时间 ...
相关推荐
使用 System.getProperty() 函数可以获取当前路径,该函数可以获取 Java 运行时环境的各种属性,其中包括当前路径。下面是一个示例代码: ```java System.out.println(System.getProperty("user.dir")); ``` 这段...
在VC++编程环境中,获取当前路径是开发过程中常见的需求,特别是在处理文件操作或者资源定位时。当前路径是指程序运行时的目录,它可以帮助我们定位到程序执行时的默认位置。下面我们将详细探讨如何在VC++中获取当前...
在本文中,我们将深入探讨如何在VC++环境中获取当前路径,并提供相关的代码示例。 首先,我们需要理解“当前路径”指的是程序运行时所在的目录。这个路径可以用来读取或写入文件,执行其他目录相关的操作。在...
在Java开发中,特别是在Web应用开发中,经常需要获取不同类型的路径,例如:当前Web应用的路径、特定文件的真实路径等。本文将详细讲解如何通过不同的方式来获取这些路径。 #### JSP中获取路径 1. **获取当前应用...
在PowerShell环境下,获取当前正在执行的脚本的路径是一项常用且实用的功能。这项功能可以帮助我们更灵活地处理脚本内部的文件操作,例如读取或写入与脚本同目录下的其他文件、调用同一目录下的其他脚本等。本文将...
在VC/MFC编程环境中,获取当前路径是开发者经常需要处理的一个基本需求。当前路径可以指当前执行文件所在的目录,也可以是指当前工作目录。在给定的文件内容中,提到了几种在VC/MFC中获取当前路径的方法,下面将对...
在Windows操作系统中,获取当前鼠标选中的文件的路径是一项常见的任务,这通常涉及到与系统壳层(Shell)的交互,也就是Windows Shell扩展编程。通过Shell,我们可以访问到桌面、文件资源管理器等环境下的对象,并...
在C#编程中,了解如何获取当前运行程序的路径是一项基本但重要的技能,尤其是在处理文件操作、资源定位或调试信息时。以下是从标题、描述、标签以及部分内容中提炼出的关键知识点,涵盖了获取当前程序路径的各种方法...
综上所述,在ASP.NET应用程序的不同环境中获取当前路径的方法有所差异。在页面中,我们可以通过`MapPath`、`Request`对象以及`HttpRuntime`类来轻松实现。而在非页面环境下,如app_Code文件夹下的DLL类中,则需要...
在C#编程中,获取当前路径是开发过程中常见的需求之一,尤其在处理文件读写、配置加载等场景下尤为重要。本文将详细介绍C#中获取当前路径的多种方法,包括但不限于获取程序所在目录、当前线程的工作目录、应用程序...
在Java编程语言中,获取当前运行程序的路径是一项常见的需求,这主要涉及到系统环境和程序资源的定位。本文将深入探讨如何在Java程序中获取这些信息,并提供多种方法来实现这一目标。 首先,我们可以通过`java.lang...
无论是获取还是设置当前工作目录,都需要注意路径的正确性,避免因路径问题引发的异常。同时,合理利用相对路径和绝对路径,可以提高代码的可移植性和可维护性。在处理文件操作时,确保对可能出现的异常进行适当的...
#### System.getProperty() 获取当前路径 在Java中,`System.getProperty()` 方法是一个非常实用的方法,它可以从系统属性中获取指定键对应的值。当键为 `"user.dir"` 时,返回的是当前Java程序执行所在的目录路径...
在Windows操作系统中,获取当前默认浏览器的路径是开发者在编程时常常需要实现的功能之一,尤其在Visual C++(简称VC)环境下。这个过程涉及到系统注册表的读取,因为Windows系统通常将默认浏览器的信息存储在注册表...
此方法可以获取当前正在运行的应用程序模块的完整路径。这里的“模块”一般指代的是程序的主要可执行文件。它包含了文件名、路径以及文件扩展名等信息,常用于调试或者记录程序的启动位置等场景。 ### 3. 获取和...
本篇将详细介绍如何在VS2008环境下通过编程获取两个路径之间的相对路径,并提供示例代码。 在C++中,我们可以利用标准库中的`<filesystem>`(在VS2008中可能需要第三方库如Boost.Filesystem)来处理路径相关的问题...
在Windows系统中,当一个可执行程序需要在开机时自动启动并获取自身的当前路径时,开发者通常会利用特定的编程技巧来实现这一功能。这里,我们主要探讨的是如何通过编程来获取可执行程序的当前路径,并了解如何设置...
这个函数能够获取当前进程的可执行文件路径。以下是一个简单的示例: ```cpp #include #include int main() { char szFilePath[MAX_PATH]; if (GetModuleFileName(NULL, szFilePath, MAX_PATH) != 0) { std::...
在C#编程中,获取当前路径是常见的需求,特别是在处理文件和目录操作时。下面将详细解释标题和描述中提到的7种方法以及如何在不同类型的程序中选择合适的方法。 1. **`System.Diagnostics.Process....