以工程名为/DemoWeb为例: 
访问的jsp为:http://localhost:8080/DemoWeb/test/index.jsp

1 JSP中获得当前应用的相对路径和绝对路径 
(1)得到工程名:request.getContextPath() 
结果:/DemoWeb

(2)得到包含工程名的当前页面全路径:request.getRequestURI() 
结果:/DemoWeb/test/testpath.jsp

(3)得到IE地址栏地址:request.getRequestURL() 
结果:http://localhost:8080/DemoWeb/test/testpath.jsp

(4)得到当前页面所在目录下全名称:request.getServletPath() 
结果:/test/testpath.jsp

(5)得到页面所在服务器的全路径(实际的路径):application.getRealPath("testpath.jsp") 
结果:D:\Develop Files\apache-tomcat-5.5.15\apache-tomcat-5.5.15\webapps\DemoWeb\testpath.jsp 
D:\Develop Files\apache-tomcat-5.5.15\apache-tomcat-5.5.15为tomcat的安装路径

(6) Web应用中有各种获取path或URI,URL的方法,假设网页访问地址:

http://localhost:8080/tradeload/TestServlet

Web应用context: /tradeload

  1. request.getContextPath()= /tradeload
  2. request.getScheme() + "://" + request.getServerName() + ":" + request.getServerPort()= http://localhost:8080
  3. request.getRequestURL() = http://localhost:8080/tradeload/TestServlet
  4. request.getRequestURI() = /tradeload/TestServlet
  5. request.getPathInfo() = null
  6. request.getServletPath() = /TestServlet
  7. getServletContext().getRealPath('/') = C:\server\glassfish\domains\domain1\applications\j2ee-modules\tradeload\

2.java 的Class中获得相对路径,绝对路径的方法

(1)类的绝对路径: 
System.out.println(TestPath.class.getResource("/").getPath()); 
结果:/E:/workspace/workspace_tcc/DemoWeb/WebRoot/WEB-INF/classes/

System.out.println(TestPath.class.getResource("")); 
结果:file:/E:/workspace/workspace_tcc/DemoWeb/WebRoot/WEB-INF/classes/demo1/

(2)得到工程的路径:System.getProperty("user.dir") 

结果:E:\workspace\workspace_tcc\DemoWeb

(3)得到项目部署的绝对路径:

//获取运行项目名称
WebApplicationContext wac = ContextLoader.getCurrentWebApplicationContext();
ServletContext sc =wac.getServletContext();
String projectName = sc.getContextPath();

//获取运行项目路径 即tomcat下的项目路径(默认情况下)
//tomcat conf server.xml配置文件若有配置项目路径<Context path="" docBase="D:\seed" reloadable="false" />,则是该docBase的路径
WebApplicationContext webApplicationContext = ContextLoader.getCurrentWebApplicationContext();
ServletContext servletContext = webApplicationContext.getServletContext();
String projectPath=servletContext.getRealPath("/").replace("\\", "/");

web项目中各种路径的获取的更多相关文章

  1. JAVA WEB项目中各种路径的获取

    JAVA WEB项目中各种路径的获取 标签: java webpath文件路径 2014-02-14 15:04 1746人阅读 评论(0) 收藏 举报  分类: JAVA开发(41)  1.可以在s ...

  2. web项目中各种路径的获取(复制,为以后好找资源)

    web项目中各种路径的获取 1.可以在servlet的init方法里 String path = getServletContext().getRealPath("/"); 这将获 ...

  3. web项目中各种路径的获取HttpServletRequest

    以工程名为/DemoWeb为例: 访问的jsp为:http://localhost:8080/DemoWeb/test/index.jsp 1 JSP中获得当前应用的相对路径和绝对路径 (1)得到工程 ...

  4. web项目中的路径问题

    “/”表示根路径 1.“/”代表的意思不是固定的,是要根据具体的方法,才能知道在该方法中"/"所代表的含义,同样相对路径也不是固定的,需要根据具体的方法来判断具体是相对哪个路径的相 ...

  5. 理解java Web项目中的路径问题

    本文以项目部署在tomcat服务器为例,其他相信也是一样的. 先说明请求页面的写法,在web中,页面路径主要写的有以下几种 1.请求重定向 2.浏览器的请求被服务器请求到新页面(我称为“转发”) 3. ...

  6. JavaWeb项目中各种路径的获取

    以工程名为/DemoWeb为例: 访问的jsp为: http://localhost:8080/DemoWeb/test/index.jsp 1 JSP中获得当前应用的相对路径和绝对路径 (1)得到工 ...

  7. (转)Java web 项目中文件路径

    文件路径分为绝对路径和相对路径,在项目中页面跳转.配置文件读写.文件上传下载等等许多地方都涉及到文件路径问题. 一篇好文转载于此:http://blog.csdn.net/shendl/archive ...

  8. web项目中获取各种路径的方法

    ~Apple   web项目中各种路径的获取 1.可以在servlet的init方法里 String path = getServletContext().getRealPath("/&qu ...

  9. 理解JavaWeb项目中的路径问题——相对路径与绝对路径

    背景: 在刚开始学习javaweb,使用servlet和jsp开发web项目的过程中,一直有一个问题困扰着我:servlet 和 jsp 之间相互跳转,跳转的路径应该如何书写,才能正确的访问到相应的s ...

随机推荐

  1. 在SpringMVC中使用@SessionAttributes和@ModelAttribute将数据存储在session域中

    今天在我的springMVC项目--图书管理系统中,希望在登录时将登录的Users存在session中,开始是准备在controller中使用Servlet API中的对象,可是一直无法引用,不知道为 ...

  2. weak和nonull

    weak和nonull是相互排斥的,所以weak和null不能同时使用,如下图:

  3. WEB开发最佳实践

    linux命令 man ls:显示ls的命令详情,man命令可以查具体的命令详情

  4. maven打包jar包

    参考http://www.cnblogs.com/justinzhang/p/4983633.html 新建jar类型的maven project (选择simple project ) 配置 < ...

  5. 以最简单方式学习Linux

    有很多关于Linux的书籍,博客.大多数都会比较"粗暴"的将一大堆的命令塞给读者,从而使很多.NET程序员望而却步.未入其门就路过了. 所以我设想用一种更为平滑的学习方式, 就是在 ...

  6. 【总结】Javascript基础

    1.Javascript的数据类型 Number String Boolean Undefined Null Object 如下图,其中Number.String.Boolean.Undefined. ...

  7. 【JavaWeb】Spring+SpringMVC+MyBatis+SpringSecurity+EhCache+JCaptcha 完整Web基础框架(五)

    SpringSecurity(2) 好久没有写了,之前只写了一半,我是一边开发一边写Blog一边上班,所以真心没有那么多时间来维护Blog,项目已经开发到编写逻辑及页面部分了,框架基本上已经搭建好不会 ...

  8. maven报brors occurred during the build

    原因分析: 此问题一般发生在eclipse保存文件并自动部署时候.本人在写项目的时候,还没等部署好,关闭了了eclipse,结果出现了这种情况.有一种产生此错误的原因是因为此项目不不是由eclipse ...

  9. SQLSERVER如何使用递增排序的GUID做主键

    场景: 产品表数据量较大想用Guid做表的主键,并在此字段上建立聚簇索引. 因为Guid是随机生成的,生成的值大小是不确定的,每次生成的数可能很大,也可能很小.这样会影响插入的效率 1.NEWSEQU ...

  10. Lua IDE

    http://blog.csdn.net/visualcatsharp/article/details/37653107