1.基本概念的理解绝对路径:绝对路径就是你的主页上的文件或目录在硬盘上真正的路径,(URL和物理路径)例如:C:xyz est.txt 代表了test.txt文件的绝对路径。http://www.sun.com/index.htm也代表了一个URL绝对路径。相对路径:相对与某个基准目录的路径。包含Web的相对路径(HTML中的相对目录),例如:在Servlet中,"/"代表Web应用的跟目录。和物理路径的相对表示。例如:"./" 代表当前目录,"../"代表上级目录。这种类似的表示,也是属于相对路径。另外关于URI,URL,URN等内容,请参考RFC相关文档标准。RFC 2396: Uniform Resource Identifiers (URI): Generic Syntax,(http://www.ietf.org/rfc/rfc2396.txt)2.关于JSP/Servlet中的相对路径和绝对路径。2.1服务器端的地址服务器端的相对地址指的是相对于你的web应用的地址,这个地址是在服务器端解析的(不同于html和javascript中的相对地址,他们是由客户端浏览器解析的)
1、request.getRealPath
方法:request.getRealPath("/")
得到的路径:C:\Program Files\Apache Software Foundation\Tomcat 5.5\webapps\strutsTest\
方法:request.getRealPath(".")
得到的路径:C:\Program Files\Apache Software Foundation\Tomcat 5.5\webapps\strutsTest\.
方法:request.getRealPath("")
得到的路径:C:\Program Files\Apache Software Foundation\Tomcat 5.5\webapps\strutsTest
request.getRealPath("web.xml")
C:\Program Files\Apache Software Foundation\Tomcat 5.5\webapps\strutsTest\web.xml
2、request.getParameter("");
ActionForm.getMyFile();
方法:String filepath = request.getParameter("myFile");
得到的路径:D:\VSS安装目录\users.txt
方法:String filepath = ActionForm.getMyFile();
得到的路径:D:\VSS安装目录\users.txt
--------------------------------------------------
strutsTest 为工程名
myFile 在ActionForm中,为private String myFile;
在jsp页面中:为<html:file property="myFile"></html:file>
--------------------------------------------------
3、获得系统路径
在Application中:
System.getProperty("user.dir")
在Servlet中:
ServletContext servletContext = config.getServletContext();
String rootPath = servletContext.getRealPath("/");
在jsp中:
application.getRealPath("")
4、其他
1.可以在servlet的init方法里String path = getServletContext().getRealPath("/");这将获取web项目的全路径例如 :E:\eclipseM9\workspace\tree\tree是我web项目的根目录2.你也可以随时在任意的class里调用this.getClass().getClassLoader().getResource("").getPath();这将获取 到classes目录的全路径例如 : /D:/workspace/strutsTest/WebRoot/WEB-INF/classes/
还有 this.getClass().getResource("").getPath().toString();
这将获取 到 /D:/workspace/strutsTest/WebRoot/WEB-INF/classes/bl/
这个方法也可以不在web环境里确定路径,比较好用3.request.getContextPath();获得web根的上下文环境如 /treetree是我的web项目的root context
5、其他12
java获取路径几种途径- -
jdk如何判断程序中的路径呢?一般在编程中,文件路径分为相对路径和绝对路径,绝对路径是比较好处理的,但是不灵活,因此我们在编程中对文件进行操作的时候,一般都是读取文件的相对路径,相对路径可能会复杂一点,但是也是比较简单的,相对的路径,主要是相对于谁,可以是类加载器的路径,或者是当前java文件下的路径,在jsp编程中可能是相对于站点的路径,相对于站点的路径,我们可以通过getServletContext().getRealPath("\") 和request.getRealPath("\"):这个是取得站点的绝对路径; 而getContextPath():取得站点的虚拟路径;2:class.getClassLoader.getPath():取得类加载器的路径:什么是类加载器呢?一般类加载器有系统的和用户自己定义的;系统的ClassLoader就是jdk提供的,他的路径就是jdk下的路径,或者在 jsp编程,比如Tomcat ,取得的类加载器的位置就是tomaca自己设计的加载器的路径,明白了这些之后,对于文件路径的操作就会相当的清楚,我们在编程的时候,只要想清楚我们所操作的文件是相对于什么路径下的,取得相对路径就可以了.
6、总结
1、获取web服务器下的文件路径
request.getRealPath("/")
application.getRealPath("")【jsp中 】
ServletContext().getRealPath("")
System.getProperty("user.dir")【不同位置调用,获取的路径是动态变化的】
2、获取本地路径
jsp中,<html:file property="myFile"/>
request.getParameter("myFile");
ActionForm.getMyFile();
获取的值相同:如D:\VSS安装目录\users.txt
*********************************
this.getClass().getClassLoader().getResource("").getPath();
==/D:/workspace/strutsTest/WebRoot/WEB-INF/classes/
this.getClass().getResource("").getPath().toString();
==/D:/workspace/strutsTest/WebRoot/WEB-INF/classes/bl/
3、获取相对路径
request.getContextPath();
如:/strutsTest
帖二:http://teamojiao.iteye.com/blog/446615
关于绝对路径和相对路径:
绝对路径就是你的主页上的文件或目录在硬盘上真正的路径,(URL和物理路径)例如:C:xyz est.txt 代表了test.txt文件的绝对路径。http://www.sun.com/index.htm也代表了一个URL绝对路径。相对路径:相对与某个基准目录的路径。包含Web的相对路径(HTML中的相对目录),例如:在Servlet中,"/"代表Web应用的跟目录。和物理路径的相对表示。例如:"./" 代表当前目录,"../"代表上级目录。这种类似的表示,也是属于相对路径。另外关于URI,URL,URN等内容,请参考RFC相关文档标准。RFC 2396: Uniform Resource Identifiers (URI): Generic Syntax,(http://www.ietf.org/rfc/rfc2396.txt)2.关于JSP/Servlet中的相对路径和绝对路径。 2.1服务器端的地址服务器端的相对地址指的是相对于你的web应用的地址,这个地址是在服务器端解析的(不同于html和javascript中的相对地址,他们是由客户端浏览器解析的)
第一种:
File f = new File(this.getClass().getResource("/").getPath());
System.out.println(f);
结果:
C:\Documents%20and%20Settings\Administrator\workspace\projectName\bin
获取当前类的所在工程路径;
如果不加“/”
File f = new File(this.getClass().getResource("").getPath());
System.out.println(f);
结果:
C:\Documents%20and%20Settings\Administrator\workspace\projectName\bin\com\test
获取当前类的绝对路径;
第二种:
File directory = new File("");//参数为空
String courseFile = directory.getCanonicalPath() ;
System.out.println(courseFile);
结果:
C:\Documents and Settings\Administrator\workspace\projectName
获取当前类的所在工程路径;
第三种:
URL xmlpath = this.getClass().getClassLoader().getResource("selected.txt");
System.out.println(xmlpath);
结果:
file:/C:/Documents%20and%20Settings/Administrator/workspace/projectName/bin/selected.txt
获取当前工程src目录下selected.txt文件的路径
第四种:
System.out.println(System.getProperty("user.dir"));
结果:
C:\Documents and Settings\Administrator\workspace\projectName
获取当前工程路径
第五种:
System.out.println( System.getProperty("java.class.path"));
结果:
C:\Documents and Settings\Administrator\workspace\projectName\bin
获取当前工程路径
另外一些方法:
在Servlet的init方法里,使用该语句获得应用的绝对路径:
new File(getServletContext().getRealPath("/")).getAbsolutePath();
知道该怎么做了吧?
1、定义一个类存放全局信息
public class Global{
public static String REAL_PATH = "";
}
2、新增一个Servlet,在init方法中:
Global.REAL_PATH = new File(getServletContext().getRealPath("/")).getAbsolutePath();
3、在web.xml中配置启动自动加载该Servlet
<servlet>
<servlet-name>名称</servlet-name>
<servlet-class>类路径</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
4、在任何地方包括jsp里面就可以用Global.REAL_PATH了。。。
分享到:
相关推荐
使用`File#getPath()`、`File#getName()`、`File#getParent()`方法可以获取路径的不同部分。`getPath()`返回整个路径字符串,`getName()`获取最后一个路径元素,`getParent()`获取父路径。 5. **文件操作**: - `...
要使用JavaCompiler,首先需要获取`ToolProvider`的实例,这是访问所有工具(包括JavaCompiler)的入口点: ```java JavaCompiler compiler = ToolProvider.getSystemJavaCompiler(); ``` 然后,我们需要创建一个`...
1)进入存放jdk文件的文件夹路径 我这里是 usr/local/jdk/ 2)输入命令 chmod 777 jdk1.8.0_221/bin/java修改权限 3)再次输入 java -version 成功 总结 以上所述是小编给大家介绍的解决-BASH: /HOME/JAVA/JDK1.8.0...
Java工程师新人入门通常需要经历一个从基础到进阶的过程,以下是一些推荐的书籍和学习路径,帮助初学者系统地掌握Java技术。 1. **新手入门打基础**: - 《Java 语言程序设计》:这本书适合初学者快速学习Java语法...
- 在`doGet`方法中,获取到请求参数(通常是文件路径)。 - 使用`File`类创建一个文件对象,然后通过`FileInputStream`读取文件内容。 - 设置响应头信息,包括`Content-Type`(表示文件类型),`Content-...
本文将根据一位资深Java程序员的经验分享,为初学者提供一条清晰的学习路径,帮助大家在Java之旅中少走弯路,加速成长。 #### Java的三大领域:J2SE、J2ME与J2EE Java自问世以来,其应用范围广泛,涵盖桌面应用、...
它提供了一种简单的方法来处理XML数据,将XML文档转换为Java对象,反之亦然,极大地简化了数据交换的工作。在这个学习笔记中,我们将深入探讨Castor的核心功能、使用场景以及其与XML绑定相关的技术。 1. Castor的...
当客户端发送请求时,Servlet容器(如Tomcat)会根据配置的映射路径找到相应的Servlet实例,调用其service()方法。在service()方法中,开发者可以根据请求的方法(GET、POST等)进行不同的操作,如读取请求参数、...
下面将详细介绍Struts-menu的使用方法以及如何通过静态方式获取XML配置来构建菜单。 首先,我们需要了解Struts-menu的基本结构。在Struts-menu中,菜单定义通常存储在XML文件中,这个文件包含了菜单项、子菜单以及...
模块类似于Java的包,它们是代码的逻辑单元,可以包含类(类似Java的类)和简单的函数。例如,`dojo.html`模块提供了一系列处理HTML内容的函数,如`dojo.html.getContentBox()`,而`dojo.dnd`模块则包含了用于HTML...
MyBatis使用简单的XML或注解用于配置和原始映射,将接口和Java的POJOs(Plan Old Java Objects,普通的Java对象)映射成数据库中的记录. orm工具的基本思想 无论是用过的hibernate,mybatis,你都可以法相他们有一个...
该语句用于获取当前网页的相对路径 例如: 访问路径为:http://localhost:8080/hansom/response.jsp **request.getContextPath()**返回虚拟路径: /hansom **request.getScheme()**返回使用的协议:http **...
这通常包括下载WebWork的JAR文件并将其添加到项目的类路径中,配置web.xml以启动WebWork的前端控制器。然后,创建一个简单的"HelloWorld"应用,这通常是学习新框架的第一步。在WebWork中,这将涉及创建一个Action类...
它通过解析请求参数和路径信息,决定调用哪个Action方法,并且将结果传递给视图进行渲染。 **Action的单元测试** 为了确保Action的功能正确,WebWork提供了一套完善的单元测试支持。你可以使用JUnit或其他测试框架...
这些环境变量指向JDK的安装路径,是编译过程能够成功找到Java工具链的前提。 注意事项与维护 在产品的使用环境和注意事项中,提及了产品的供电电压、运行温度范围、湿度、避免带电插拔以及如何正确维护产品等信息。...
商业转载请联系作者获得授权,非商业转载请注明出处。 通过上述详细步骤,您可以顺利完成MySQL的安装与基本配置,并具备初步使用的能力。对于更复杂的数据库管理任务,建议进一步学习相关的高级功能和技术文档。
作者强调了版权的重要性,要求在转载时必须注明作者信息,并禁止任何未经授权的出版行为。这一规定既体现了作者对知识分享的支持态度,也反映了其维护自身知识产权的决心。 #### 参考网站及资料 为了确保内容的...