`
wanxiaotao12
  • 浏览: 472351 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

struts2中取得文件的绝对路径的方法

 
阅读更多

方法1:

  1. ServletActionContext.getServletContext().getRealPath(File.separator);//项目根路径如D:\xxx\项目名
 ServletActionContext.getServletContext().getRealPath(File.separator);//项目根路径如D:\xxx\项目名

这个方法如果在action的一般方法中执行没问题可得到,但是放到static初始化中时就会报错:

  1. privatestatic String basePath;
  2. static {
  3. basePath = ServletActionContext.getServletContext().getRealPath(File.separator);
  4. }
private static String basePath;
static {
	basePath = ServletActionContext.getServletContext().getRealPath(File.separator);

}

具体为什么没有研究出来

方法2:

  1. basePath = ProductStage.class.getClassLoader().getResource("")
basePath = ProductStage.class.getClassLoader().getResource("")

得到的字符串是形如:

D:/Java/Tomcat%206.0/webapps/项目名/WEB-INF/classes

而且如果路径中包含空格的话会显示为“%20”,要替换截取得到想要的路径如:

  1. basePath = ProductStage.class.getClassLoader().getResource("")
  2. .getFile().replaceAll("/WEB-INF/classes/", "").replaceAll("%20", " ").substring(1);
basePath = ProductStage.class.getClassLoader().getResource("")
   .getFile().replaceAll("/WEB-INF/classes/", "").replaceAll("%20", " ").substring(1);

 

分享到:
评论

相关推荐

    struts1和struts2获取相对路径的方法

    在Struts1中,我们通常会用到`Servlet`对象来获取当前应用的根目录,从而构建文件的绝对路径。以下是一种常见的方法: ```java String upload_filepath = this.getServlet().getServletContext().getRealPath("/") ...

    struts2文件下载/绝对路径+相对路径

    在Struts2中,文件下载功能是常见的需求,尤其是在处理用户请求获取服务器上的静态或动态资源时。这篇博文(http://blog.csdn.net/love_xiolan/article/details/54945859)提供了关于如何在Struts2中实现文件下载的...

    struts2中绝对路径上传图片和显示图片

    本篇将详细介绍如何在Struts2中实现绝对路径上传图片以及在页面上显示这些图片。 首先,了解文件上传的基本概念。在Web开发中,文件上传允许用户通过HTTP请求发送本地文件到服务器。Struts2提供了一套完整的文件...

    windows linux 下,获取java项目绝对路径的方法

    windows linux 下,获取java项目绝对路径的方法,struts2设置了struts.multipart.saveDir后会在根目录建立文件夹,这样会涉及linux下的权限问题

    struts2文件上传源码和步骤

    `execute()` 方法中,我们首先获取服务器上的绝对路径(`realpath`),然后将上传的文件复制到指定的目录下。`ServletActionContext` 和 `ActionContext` 是 Struts2 提供的工具类,用于获取上下文信息。 - **方式...

    【张冰Struts2学习笔记】0103_Path与绝对路径

    在Struts2中,开发者还可以利用ActionContext获取当前请求的绝对路径,这在需要拼接动态URL或者访问服务器资源时非常有用。例如: ```java String contextPath = ActionContext.getContext().getServletContext()....

    struts2 文件下载

    在Struts2中处理文件下载是一项常见的任务,尤其在处理用户请求获取服务器上存储的资源时。以下是对文件下载流程、配置以及相关类和方法的详细说明。 **文件下载流程:** 1. **前端请求**:用户通过浏览器点击下载...

    struts1实现文件上传和下载

    接着,我们获取文件的绝对路径,并设置一个临时目录来保存上传的文件。然后,我们检查文件的扩展名,确保只允许特定类型的文件(如jpg、txt、rar)被上传。如果文件类型不符合要求,我们会将用户重定向到错误页面。...

    struts2多文件上传

    Struts2多文件上传是Java Web开发中常见的一项功能,用于允许用户一次上传多个文件。在Struts2框架中,实现这一功能涉及到一系列的技术和步骤。以下是对这一知识点的详细说明: 1. **Struts2框架**:Struts2是一个...

    struts2+spring2+ibates

    2、在sping配置中注意单元测试里,xml文件的路径问题,要用绝对路径。 3、struts.xml中命名空间和拦截器的使用。 4、sqlmapconfig.xml中传入参数和result的设置,只需要将得到的值result映射到有此属性的类对象. 5、...

    struts2文件下载

    首先,它获取到请求中的`fileName`参数,然后根据这个参数构建文件的绝对路径。接着,它设置响应的内容类型为`application/octet-stream`,以指示浏览器将数据作为二进制流处理。同时,设置`Content-Disposition`头...

    struts2-文件下载

    2. **Action配置**:在Struts2中,你需要创建一个特定的Action来处理文件下载请求。Action通常会有一个返回值,这个返回值将决定视图的路径,对于文件下载,我们通常配置为一个特定的Result类型,如`stream`。 3. *...

    struts2文件上传

    2. **逻辑控制代码**:在Struts2中,这通常是一个Action类,负责处理文件上传请求。Action类需要继承自`org.apache.struts2.dispatcher.multipart.FileUploadAction`或使用`@ultipart-config`注解来启用文件上传。...

    java获取路径的各种方法

    本文主要介绍Java中获取路径的各种方法,包括绝对路径和相对路径的概念,以及在JSP和Servlet中的具体实现。 首先,理解基本概念: 1. **绝对路径**:绝对路径是指文件或目录在计算机硬盘上的完整路径,它提供了一...

    struts2 文件上传下载的实现

    在Struts2中实现文件的上传与下载是常见的需求,这涉及到用户交互、文件流处理以及安全控制等多个方面。本篇文章将深入探讨如何在Struts2框架下实现文件上传与下载的功能。 首先,我们要理解Struts2中的Action类,...

    Struts2文件上传

    - 获取目标目录路径,这里通过`context.getRealPath("/upload")`获取绝对路径。 - 生成新的文件名,避免文件重名问题。 - 使用`FileUtils.copyFile(doc, target)`将文件复制到目标位置。 - `generateFileName()`...

    struts中的文件上传

    为了防止安全风险,如路径遍历攻击,我们需要确保保存文件时使用的路径是安全的,避免用户指定绝对路径。同时,对上传文件的类型和大小进行限制,避免恶意文件上传。 9. **源码分析**: 对于深入理解,可以阅读...

    struts 2 笔记 struts2 基础

    通常建议使用绝对路径,可以通过`request.getContextRoot()`获取Web应用的根路径。在MyEclipse等IDE中,还可以设置基路径变量以简化路径管理。 五、Action接收参数的方式 1. **Action的属性**:定义Action类中的...

    文件上传struts2实现实例

    // 获取上传文件的绝对路径 String path = getServlet().getServletContext().getRealPath("/") + "uploads/"; // 保存文件 file.transferTo(new File(path + fileName)); return SUCCESS; } catch (Exception...

Global site tag (gtag.js) - Google Analytics