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

转自http://caodaoxi.iteye.com/blog/1234805

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

时间: 2024-10-17 13:51:49

java中几种获取项目路径方式的相关文章

Java中两种获取Stream流的方式

获取流 java.util.stream.Stream<T> 是Java 8新加入的最常用的流接口.(这并不是一个函数式接口.) 获取一个流非常简单,有以下几种常用的方式: 所有的 Collection 集合都可以通过 stream 默认方法获取流; Stream 接口的静态方法 of 可以获取数组对应的流. 根据Collection获取流 首先, java.util.Collection 接口中加入了default方法 stream 用来获取流,所以其所有实现类均可获取流. import j

Java中9种IO的读取方式

数据的读写,按照数据类型可以分为两种:字符流和字节流(二者区别?).所以数据读取方式按照数据类型也可以分为两类:字节流的读取和字符流的读取. 一.字节流读取操作: | | |-----1.FileInputStrem和FileInputStream字节流逐字节读写(速度最慢) | | |-----2.FileInputStrem和FileInputStream构造一个缓冲数组进行读写(速度提升) | |-----3.利用字节缓冲区流BufferedInputStream和BufferedOutp

Java中几种常见的排序方式

冒泡排序是一种简单的排序算法.它重复地走访过要排序的数列,一次比较两个元素,如果他们的顺序错误就把他们交换过来.走访数列的工作是重复地进行直到没有再需要交换,也就是说该数列已经排序完成.这个算法的名字由来是因为越小的元素会经由交换慢慢“浮”到数列的顶端. 代码 /**   * 冒泡法排序<br/> * <li>比较相邻的元素.如果第一个比第二个大,就交换他们两个.</li>   * <li>对每一对相邻元素作同样的工作,从开始第一对到结尾的最后一对.在这一点

Java中两种实现多线程方式的对比分析

本文转载自:http://www.linuxidc.com/Linux/2013-12/93690.htm#0-tsina-1-14812-397232819ff9a47a7b7e80a40613cfe1 Java中有两种实现多线程的方式.一是直接继承Thread类,二是实现Runnable接口.那么这两种实现多线程的方式在应用上有什么区别呢? 为了回答这个问题,我们可以通过编写一段代码来进行分析.我们用代码来模拟铁路售票系统,实现通过四个售票点发售某日某次列车的100张车票,一个售票点用一个线

Java中13种设计模式汇总

设计模式(Design Patterns) ——可复用面向对象软件的基础 设计模式(Design pattern)是一套被反复使用.多数人知晓的.经过分类编目的.代码设计经验的总结.使用设计模式是为了可重用代码.让代码更容易被他人理解.保证代码可靠性. 毫无疑问,设计模式于己于他人于系统都是多赢的,设计模式使代码编制真正工程化,设计模式是软件工程的基石,如同大厦的一块块砖石一样.项目中合理的运用设计模式可以完美的解决很多问题,每种模式在现在中都有相应的原理来与之对应,每一个模式描述了一个在我们周

Request三种获取数据的方式

今天在做ajax请求后台代码时,发现ajax的方法都对,但就是请求不了后台代码,后来在同事帮助下才发现前台定义了两个相同参数导致请求出错. 下面记录一下request三种获取数据的方式: 1. Request.QueryString: 该方法主要是获取页面路径URL的参数: 2. Request.Form:该方法主要是以post请求方式获取报文体的参数: 3. Request.param:包含上面两种方式,它会在QueryString,Form,ServerVariable中都搜索一遍: 而我今

java中四种引用类型

java中四种引用类型  今天看代码,里面有一个类java.lang.ref.SoftReference把小弟弄神了,试想一下,接触java已经有3年了哇,连lang包下面的类都不了解,怎么混.后来在网上查资料,感觉收获颇多,现记录如下. 对象的强.软.弱和虚引用 在JDK 1.2以前的版本中,若一个对象不被任何变量引用,那么程序就无法再使用这个对象.也就是说,只有对象处于可触及(reachable)状态,程序才能使用它.从JDK 1.2版本开始,把对象的引用分为4种级别,从而使程序能更加灵活地

Java 中15种锁的介绍:公平锁,可重入锁,独享锁,互斥锁,乐观锁,分段锁,自旋锁等等(转)

Java 中15种锁的介绍 在读很多并发文章中,会提及各种各样锁如公平锁,乐观锁等等,这篇文章介绍各种锁的分类.介绍的内容如下: 公平锁 / 非公平锁 可重入锁 / 不可重入锁 独享锁 / 共享锁 互斥锁 / 读写锁 乐观锁 / 悲观锁 分段锁 偏向锁 / 轻量级锁 / 重量级锁 自旋锁 上面是很多锁的名词,这些分类并不是全是指锁的状态,有的指锁的特性,有的指锁的设计,下面总结的内容是对每个锁的名词进行一定的解释. 公平锁 / 非公平锁 公平锁 公平锁是指多个线程按照申请锁的顺序来获取锁. 非公

C#应用程序获取项目路径的方法总结

一.非Web程序 //基目录,由程序集冲突解决程序用来探测程序集 1.AppDomain.CurrentDomain.BaseDirectory //当前工作目录的完全限定路径2.Environment.CurrentDirectory //当前应用程序的 /bin 目录的路径3.HttpRuntime.BinDirectory 二.Web程序 假设Web项目根目录为:"D:\TestPart\WebDirectoryTest". 1.HttpContext.Current //返回与