楼上的正解,自己写个初始化servlet,在init方法中,获取上下文路径,然后存到一个类的静态变量中,
如:
String contextPath = filterConfiggetServletContext()getContextPath();//上下文路径
ConstantCONTEXTPATH = contextPath;
然后在业务层中,使用ConstantCONTEXTPATH获取路径
在访问web目录下资源时,requestgetServletContext()getRealPath()经常被使用,该代码作用是获取项目的绝对路径,例如
D:\demo\JAVA EE\Spring MVC\metadata\plugins\orgeclipsewstservercore\tmp0\wtpwebapps\Fortis\imgProduct
至于其和本地路径
D:\demo\JAVA EE\Spring MVC\Fortis\WebContent
的关系和两者之间的实际应用,下面会举例解释:
tomcat服务器启动时,项目会被加载到tomcat的项目路径下,此时项目的资源获取在项目路径而不是初始存放的本地路径,且每次tomcat部署时会清空并且重新上传项目数据
例如上传时候
//上传并显示
@RequestMapping("/updateimg2")
@ResponseBody
public Map<String, Object> updateimg2(MultipartFile file,>
requestgetSession()getServletContext() 获取的是Servlet容器对象,相当于tomcat容器了。getRealPath("/") 获取实际路径,“/”指代项目根目录,所以代码返回的是项目在容器中的实际发布运行的根路径如:I:\workspace\metadata\plugins\orgeclipsewstservercore\tmp1\wtpwebapps\UMPWeb_20131230\
使用以下方式,如果获取不到,那么说明你的服务器原本就不在E:盘,那么建议你使用绝对路径来解决这个问题,直接定义路径,而不要获取路径。 使用<%=requestgetRealPath("")%>即可得到根目录,必须调用以下几个包:<%@ page import="javautil" %>
<%@ page import="javaxservlet>
以上就是关于tomcat已部署javaweb—SSH2项目,不用request或其它9大内置对象,不经action 如何获取上下文路径全部的内容,包括:tomcat已部署javaweb—SSH2项目,不用request或其它9大内置对象,不经action 如何获取上下文路径、dw建立动态jsp页面后没有出现在tomcat目录下没有映射、String filePath = request.getSession().getServletContext().getRealPath("/");等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)