1. 在jsp和class文件中调用的相对路径不同。 在jsp里,根目录是WebRoot 在class文件中,根目录是WebRoot/WEB-INF/classes 当然你也可以用System.getProperty("user.dir")获取你工程的绝对路径。
  2. 另:在Jsp,Servlet,Java中详细获得路径的方法!
  3. 1.jsp中取得路径:
  4. 以工程名为TEST为例:
  5. (1)得到包含工程名的当前页面全路径:request.getRequestURI()
  6. 结果:/TEST/test.jsp
  7. (2)得到工程名:request.getContextPath()
  8. 结果:/TEST
  9. (3)得到当前页面所在目录下全名称:request.getServletPath()
  10. 结果:如果页面在jsp目录下 /TEST/jsp/test.jsp
  11. (4)得到页面所在服务器的全路径:application.getRealPath("页面.jsp")
  12. 结果:D:\resin\webapps\TEST\test.jsp
  13. (5)得到页面所在服务器的绝对路径:absPath=new java.io.File(application.getRealPath(request.getRequestURI())).getParent();
  14. 结果:D:\resin\webapps\TEST
  15. 2.在类中取得路径:
  16. (1)类的绝对路径:Class.class.getClass().getResource("/").getPath()
  17. 结果:/D:/TEST/WebRoot/WEB-INF/classes/pack/
  18. (2)得到工程的路径:System.getProperty("user.dir")
  19. 结果:D:\TEST
  20. 3.在Servlet中取得路径:
  21. (1)得到工程目录:request.getSession().getServletContext().getRealPath("") 参数可具体到包名。
  22. 结果:E:\Tomcat\webapps\TEST
  23. (2)得到IE地址栏地址:request.getRequestURL()
  24. 结果:http://localhost:8080/TEST/test
  25. (3)得到相对地址:request.getRequestURI()
  26. 结果:/TEST/test
 

struts2设置了struts.multipart.saveDir后会在根目录建立文件夹,这样会涉及linux下的权限问题,

最好不要设置,使用struts默认

需要使用路径时,用下面的方法取得项目根目录的绝对路径(Tools为方法类)

public static String getRootPath() {
String classPath = Tools.class.getClassLoader().getResource("/").getPath();
String rootPath = "";
//windows下
if("\\".equals(File.separator)){
rootPath = classPath.substring(1,classPath.indexOf("/WEB-INF/classes"));
rootPath = rootPath.replace("/", "\\");
}
//linux下
if("/".equals(File.separator)){
rootPath = classPath.substring(0,classPath.indexOf("/WEB-INF/classes"));
rootPath = rootPath.replace("\\", "/");
}
return rootPath;
}

java(JSP)中几种获取项目路径方式的更多相关文章

  1. java中几种获取项目路径方式

    转自http://caodaoxi.iteye.com/blog/1234805     在jsp和class文件中调用的相对路径不同. 在jsp里,根目录是WebRoot 在class文件中,根目录 ...

  2. Hibernate中两种获取Session的方式

    转自:https://www.jb51.net/article/130309.htm Session:是应用程序与数据库之间的一个会话,是hibernate运作的中心,持久层操作的基础.对象的生命周期 ...

  3. 项目随笔之springmvc中freemark如何获取项目路径

    转载:http://blog.csdn.net/whatlookingfor/article/details/51538995 在SpringMVC框架中使用Freemarker试图时,要获取根路径的 ...

  4. JavaScript中几种 获取元素的方式

    1.根据id获取元素 document.getElementById("id属性的值"); 2.根据标签名字获取元素 document.getElementsByTagName(& ...

  5. 关于在JSP页面中为什么一定要用${pageContext.request.contextPath}来获取项目路径,而不能用${request.contextPath}?

    这里的疑问在于pageContext和request都是JSP中的内置对象之一,为什么不直接用${request.contextPath}来获取项目路径? 出现这种疑问,其实是将JSP的内置对象和EL ...

  6. springboot配置server相关配置&整合模板引擎Freemarker、thymeleaf&thymeleaf基本用法&thymeleaf 获取项目路径 contextPath 与取session中信息

    1.Springboot配置server相关配置(包括默认tomcat的相关配置) 下面的配置也都是模板,需要的时候在application.properties配置即可 ############## ...

  7. 如何在java代码中调用一个web项目jsp或者servlet

    有时候需要调用一个web项目的jsp或者servlet,但是执行内部的代码,并不是打开jsp,例如需要在一段java代码中清除一个web项目中的缓存,那么可以把清除缓存的代码放在该web项目的一个se ...

  8. SSH框架通过JFreeChart实现柱状图和获取项目路径

    获取项目路径:String url= ServletActionContext.getRequest().getRealPath("/upload"); 一.直接生成的图片输出到j ...

  9. 纯html页面中js如何获得项目路径

    js,全称javascript,不过虽然是以java开头,不过与java一点关系都没有. js和java有如下区别: (1)js是浏览器端的语言,而java是服务器端的语言. (2)js是动态语言,j ...

随机推荐

  1. 详谈Struts+Hibernate+Spring三大框架

    前言:对于JAVA WEB端的程序员来说,对JAVA三大框架:Struts+Hibernate+Spring的了解必不可缺,下面详细谈谈 Java三大框架主要用来做WEN应用. 三大框架:Struts ...

  2. Android - 收藏集

    Android - 收藏集 https://www.jianshu.com/p/dad51f6c9c4d?utm_campaign=maleskine&utm_content=note& ...

  3. 基于 CentOS 搭建Seafile个人网盘

    一.安装 Seafile 安装依赖环境使用 yum 安装 Python 及 MySQL: yum install python python-setuptools python-imaging pyt ...

  4. 安卓app测试之Monkeyscript

    MonkeyScript是一组可以被Monkey识别的命令集合 优点:MonkeyScript可以完成重复固定的操作 使用:adb shell monkey -f <scriptfile> ...

  5. 首次开通blog,以后会慢慢把oneNote和印象笔记的笔记转过来

    之前一直都是把笔记和经验写到OneNote上面,终于,OneNote无法同步了,转战blog吧,在这上面写一些笔记和一些技术,有空可以慢慢回顾一下.笔记这种东西,过一段时间再看就会有不同的感悟.

  6. Java垃圾回收是如何工作的?

    本教程是为了理解基本的Java垃圾回收以及它是如何工作的.这是垃圾回收教程系列的第二部分.希望你已经读过了第一部分:<Java 垃圾回收介绍>. Java 垃圾回收是一项自动化的过程,用来 ...

  7. python3的dict

    dict1 = {getlistUrl:getlistData,getskuUrl:getskuData, approveUrl:approveData, approvedlistUrl:approv ...

  8. gnuplot examples

    xy plot #set terminal jpeg #set output 'alfa.jpg' set terminal postscript eps font 24 set out 'U_vs_ ...

  9. SQL学习笔记:表的约束

    目录 NOT NULL约束 INDEX 索引 CHECK 约束 DEFAULT 约束 UNIQUE 约束 PRIMARY KEY 约束 FOREIGN KEY 约束:简单的说,就是创建表的时候,对表或 ...

  10. PAT 1020. Tree Traversals

    PAT 1020. Tree Traversals Suppose that all the keys in a binary tree are distinct positive integers. ...