使用request.getSession().getServletContext().getRealPath("")获取工程目录. 设置server Locations在server下右键open,我们看到Overview界面,通过设置server Locations,可以修改部署路径.其中Server path是指tomcat或者eclipse根目录.Deploy path是指工程文件的根目录,tomcat一般为webapps,workspace下一般为wtpwebapps.注意每次…
今天是学校机房的服务器上对之前的一个网站升级时发现了一个bug,我自己的机器上用的tomcat8,机房上是tomcat7,结果一运行就开始报找不到文件,最后发现是文件分隔符的问题 原来在代码中涉及到路径的写法是request.getSession().getServletContext().getRealPath("/WEB-INF/"),总是File Not Found.于是修改为request.getSession().getServletContext().getRealPath…
request.getSession().getServletContext() 获取的是Servlet容器对象,相当于tomcat容器了.getRealPath("/") 获取实际路径,“/”指代项目根目录,所以代码返回的是项目在容器中的实际发布运行的根路径如:I:\workspace\.metadata\.plugins\org.eclipse.wst.server.core\tmp1\wtpwebapps\UMPWeb_20131230\…
今天把程序部署到服务器,发现异常,FileNotFound异常,很快定位到getServletContext().getRealPath("/");返回空的问题.这个问题通常是传递的虚拟路径不对或者使用war包导致的.而我的程序传递的路径肯定正确,并且部署的时候对.war包做了解压.对这个问题上网搜搜了n编,始终找不到问题所在,而部署子本机是完全正确的. 仔细梳理了一下找到了一个线索:我部署到服务器的时候,我等了半天,服务器没帮我把war解压,于是自己把war解压了,而解压之后没有把w…
上传一个文件,找不到该文件的位置 设置上传的文件是在项目中的话 可以通过查找项目的路径锁定上传的文件路径 解决步骤: 可以通过jsp页面 打印获取项目的物理路径 控制台即可输出项目路径 这只是找了了上传的文件的项目位置,如果想指定文件路径的话,具体操作如下: 1.remove掉服务器上的项目,并且双击tomcat服务器 2.得到此页面 选中use tomcat installation 更改serve path路径 其下的子目录就是webapps 这样设置好配置保存后,运行项目,就能在tomca…
一.背景说明 在项目开发过程中,本地开发用的windows+tomcat,到了生产中,就成了linux+weblogic.部署工程后,应用报错,显示获取应用目录返回为null. 在网上查阅资料,发现在weblogic中,war包部署,就没有应用路径的说法了,所以只能返回null. 二.解决方法 /* * 获取项目的根目录 * 因为tomcat和weblogic获取的根目录不一致,所以需要此方法 */ private String getWebRootUrl(HttpServletRequest…
背景:程序执行时,会涉及到去读取配置文件等操作,那就需要了解怎么获得文件路径   Java目录映射关系 说明一点:在Java代码执行时,会将编译生成的classes文件,以及配置文件等信息生成到target目录下.最终执行的文件实际是target下的class文件 以上图的例子为例: 工程名:zzappqa 工程所在目录:/opt/script/zzappqa 生成的target目录:target   下面是一个工程文件到生成的target目录的一个映射关系 zzappqa工程下的文件targe…
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { String path = request.getSession().getServletContext().getResource("/WEB-INF").getFile().substring(1); System.out.println(path)…
不使用Spring,怎样能在Listener启动的Thread中获取web目录,还真不完全确定.其实我觉得实际代码也很简单.就是基于普通的listener,然后在listener中获取web目录并放到JRE全局变量中. 但使用Spring,就可以用一种比较优雅的方式来获取了. 在web.xml中的<web-app>节点内加入: <context-param> <param-name>webAppRootKey</param-name> <param-v…
一.三种情况如下 HttpSession session = request.getSession(); HttpSession session = request.getSession(true); HttpSession session = request.getSession(false); 二.三种情况之间的差异 getSession(boolean create)意思是返回当前reqeust中的HttpSession ,如果当前reqeust中的HttpSession 为null,当c…