关于spring获得路径问题

ForTheFree 发布于 2016/10/08 13:28
阅读 248
收藏 0

@卖蜡笔的小新 你好,想跟你请教个问题:

你好,之前请教过spring获得项目运行路径的问题,您当时教我是这样配置


<!-- web.xml -->
<context-param>
    <param-name>webAppRootKey</param-name>
    <param-value>web.root</param-value>
</context-param>
<listener>
    <listener-class>org.springframework.web.util.WebAppRootListener</listener-class>


代码中这样获取

System.getProperty("web.root");

发现这段代码在项目war包发布之后发布没有任何问题,但是如果项目在eclipse里面运行的话,会有两种情况。

1.获得的是实际工作空间位置的项目路径

2.获得的是发布后tomcat临时目录中项目的位置信息

我的电脑就是第一种情况,但是别人的电脑大部分是第二种情况,也有第一种的

不知道这是什么原因导致的,我如何改永远设置成第一种


加载中
0
LucEsape
LucEsape
web.root 就是当前项目运行的根录,所有没有办法定死在某个目录上。
看你用来干嘛?如果是上传下载,建议目录放在项目外。
F
ForTheFree
回复 @卖蜡笔的小新 : 问题就在这里,按理说应该都是tomcat的那个临时目录的,但是我的环境不是这样,还是工作空间的位置
LucEsape
LucEsape
回复 @ForTheFree : 因为eclipse在运行tomcat的时候,会创建一个临时的tomcat的,所有没有办法控制!
F
ForTheFree
就是获得当前项目运行的根目录,这个获得没有问题 就是在eclipse里面运行项目,会出现我说的两种情况,(在不同人的电脑上)如果是第二种的话,那么就会出现生成的文件丢失的情况,所以想问下为什么我的电脑是第一种,而有的电脑是第二种
0
solo1st
solo1st

web.xml

<context-param> 
 <param-name>JfreePath</param-name> 
 <param-value>http://localhost:8080/jfree/Public</param-value> 
</context-param>

页面:

<%  
String path = request.getContextPath(); 
 String basePath = request.getScheme() + "://" + request.getServerName() + ":" + request.getServerPort()  + path + "/";  
request.setAttribute("contextPath", basePath);   
String JfreePath = config.getServletContext().getInitParameter("JfreePath");  
if(null==JfreePath){  JfreePath = basePath;  }  
request.setAttribute("JfreePath", JfreePath); 
%>


返回顶部
顶部