java项目中的路径获取,request

java web项目中获取项目根路径(tomcat可运行的web源码的路径)的方式:

分为两种情况:

 

情况一:

在eclipse、inde等开发工具中获取(注:如下代码所在的类必须是控制层所在包下的类):

String basePath = Thread.currentThread().getContextClassLoader().getResource("").getPath().split("/target/")[0]+"/target/xiyinli-web-1.0-SNAPSHOT/";

其中xiyinli-web-1.0-SNAPSHOT根据自己maven的web项目中pom.xml的配置进行相应修改,我这里的如下:

    <groupId>com.xiyinli</groupId>
    <artifactId>xiyinli</artifactId>
    <packaging>pom</packaging>
    <version>1.0-SNAPSHOT</version>

 

情况二:

项目部署以后,在tomcat中运行时获取:

方式一:

接口中传入:HttpServletRequest

String basePath = request.getSession().getServletContext().getRealPath("/");

定时器中获取request:

        RequestAttributes ra = RequestContextHolder.getRequestAttributes();
        ServletRequestAttributes sra = (ServletRequestAttributes)ra;
        HttpServletRequest request = sra.getRequest();

方式二(一般无法拿到HttpServletRequest对象时使用,如spring定时器等):

                WebApplicationContext webApplicationContext = ContextLoader.getCurrentWebApplicationContext();
                ServletContext servletContext = webApplicationContext.getServletContext();
                String basePath = servletContext.getRealPath("/");

 

posted @ 2017-09-21 11:14  007少侠  阅读(761)  评论(0编辑  收藏  举报
友情链接:便宜vps(CN2GIA线路)
站长统计: