今天是学校机房的服务器上对之前的一个网站升级时发现了一个bug,我自己的机器上用的tomcat8,机房上是tomcat7,结果一运行就开始报找不到文件,最后发现是文件分隔符的问题 原来在代码中涉及到路径的写法是request.getSession().getServletContext().getRealPath("/WEB-INF/"),总是File Not Found.于是修改为request.getSession().getServletContext().getRealPath…
使用request.getSession().getServletContext().getRealPath("")获取工程目录. 设置server Locations在server下右键open,我们看到Overview界面,通过设置server Locations,可以修改部署路径.其中Server path是指tomcat或者eclipse根目录.Deploy path是指工程文件的根目录,tomcat一般为webapps,workspace下一般为wtpwebapps.注意每次…
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…
默认情况下springboot中request.getServletContext().getRealPath 返回的是一个临时文件夹的地址 通过查看源代码 位置在 org.springframework.boot.context.embedded.AbstractEmbeddedServletContainerFactory#getCommonDocumentRoot private File getCommonDocumentRoot() { for (String commonDocRoo…
protected ServletContext getServletContext() { return ServletActionContext.getServletContext();} protected HttpSession getSession(boolean paramBoolean) { return ServletActionContext.getRequest().getSession(paramBoolean);} protected HttpSession getSes…
javax.servlet.http.HttpServletRequest接口有两个方法:getSession(boolean)和getSession(). 具体什么区别,跟踪源码分析下,先摆出结论: request.getSession(true):获取session,如果session不存在,就新建一个. reqeust.getSession(false)获取session,如果session不存在,则返回null. Debug时,查看HttpServletRequest接口的实现类为Req…
this.getServletContext().getRealPath("WEB-INF");…
HttpServlet httpServlet = ServletActionContext.getServletContext().getRealPath(); 前几天在使用idea的时候发现这个方法中的getRealPath无法使用 百度了半天也没有相关结果 可是此方法在eclipse中是没问题的,于是我就将tomcat/lib下的所有的jar包都导入了进去,结果神奇的好用了 后来想了一下,貌似是idea中没有集成tomcat的环境的问题 如果有哪位高手知道是什么问题,希望告知!…