快捷搜索:

idea用tomcat发布javaWeb项目中的存在的图片存储路径问题解决

idea用tomcat发布javaWeb项目中的存在的图片存储路径问题解决

总结:

使用eclipse,使用tomcat发布项目,将项目发布到tomcat目录在的webapp目录中 使用idea,使用tomcat发布项目,静tomcat发布到artifacts中的Output directory所对应的文件目录下。 javaweb图片上传tomcat重启部署,图片消失 eclipse解决是将静态资源存到与工程目录同级目录下或者存在eclipse工作空间的目录下String path = “E:programeclipse projectServerWebContentimg”; 这样,图片在上传到该工作空间后,因为项目发生了改变,eclipse会再次发布工程,这时图片便会同步到tomcat服务器中,这时,我们前端jsp页面也就可以通过URL定位到图片了。 当我们重新发布工程的时候,tomcat其实是先将原来的工程删掉,然后再将改动过的新的工程放上去 idea 重新发布工程的时候。tomcat不将原来的工程删掉,是在原基础上将添加的内容追加上去

背景:

  1. 在项目的入口请求中,也就是用户整个系统的入口页面跳转请求中获取服务器的根目录,可以使用request.getSession().getServletContext().getRealPath("/");这个方法拿到localhost:8080/项目名。 这种地址,接下来通过String 的indexOf()方法和subString()方法讲项目名替换掉加上 files/… 了。这样图片就放到了服务器的根目录下。
  2. 图片存好了就需要访问了。在js或者jsp中最好直接使用绝对路径,这样会少掉很多问题。 idea中支持虚拟路径,专门用于访问静态资源,点开tomcat的配置
  3. 点击右侧的+号,选择External Source…选择你存图片的路径,然后在右边的Application context中输入访问你静态图片的路径,也就是img,点击ok,这样你在浏览器里直接可以通过localhost:8080/img/…访问你的图片了,在js或者jsp中也可以直接使用这个路径访问图片。但是localhost要换成域名,因为别人在别的地方访问你的网站需要域名地址。
    总结:
  1. 一般静态资源不会和项目放在一起,以防止项目重启图片也没了。
  2. 访问静态资源最好可以使用绝对路径,可以在idea中设置虚拟路径作为静态资源的访问路径。

Java获取当前项目的路径使用IDEA

//不推荐使用获取工程的根路径
 String a = request.getRealPath("/")
 //获取jsp的路径,这个方法比较好用,可以直接在servlet和jsp中使用
 String b = request.getRealPath(request.getRequestURI());
 //获取工程的根路径,这个方法比较好用,可以直接在servlet和jsp中使用
 String c = request.getSession().getServletContext().getRealPath("/");
 //获取工程classes 下的路径,这个方法可以在任意jsp,servlet,java文件中使用,因为不管是jsp,servlet其实都是java程序,都是一个 class。所以它应该是一个通用的方法。
 String d = this.getClass().getClassLoader().getResource("").getPath();
 System.out.println("a等于:"+a);
 //a等于:D:ideaidea_projectjavahououtartifactsstoreSystem_war_exploded
 System.out.println("b等于:"+b);
 //b等于:D:ideaidea_projectjavahououtartifactsstoreSystem_war_explodedstoreSystemAdminProductServlet
 System.out.println("c等于:"+c);
 //c等于:D:ideaidea_projectjavahououtartifactsstoreSystem_war_exploded

 System.out.println("d等于:"+d);
 //d等于:/D:/idea/idea_project/javahou/out/artifacts/storeSystem_war_exploded/WEB-INF/classes/
经验分享 程序员 微信小程序 职场和发展