tomcat已部署javaweb—SSH2项目,不用request或其它9大内置对象,不经action 如何获取上下文路径

tomcat已部署javaweb—SSH2项目,不用request或其它9大内置对象,不经action 如何获取上下文路径,第1张

楼上的正解,自己写个初始化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("/");等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/9541949.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-29
下一篇 2023-04-29

发表评论

登录后才能评论

评论列表(0条)

保存