java读取src xml文件路径_Java获取路径方法相对路径读取xml文件方法

(1)、request.getRealPath("/");//不推荐使用获取工程的根路径

(2)、request.getRealPath(request.getRequestURI());//获取jsp的路径,这个方法比较好用,可以直接在servlet和jsp中使用

(3)、request.getSession().getServletContext().getRealPath("/");//获取工程的根路径,这个方法比较好用,可以直接在servlet和jsp中使用

(4)、

this.getClass().getClassLoader().getResource("").getPath();//获取工程classes

下的路径,这个方法可以在任意jsp,servlet,java文件中使用,因为不管是jsp,servlet其实都是java程序,都是一个

class。所以它应该是一个通用的方法。

0、关于绝对路径和相对路径

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页面中:为

--------------------------------------------------

3、获得系统路径

在Application中:

System.getProperty("user.dir")

在Servlet中:

ServletContext servletContext = config.getServletContext();

String rootPath = servletContext.getRealPath("/");

在jsp中:

application.getRealPath("")

4、其他1

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根的上下文环境

如 /tree

tree是我的web项目的root context

5、其他2

java获取路径几种途径- -

1. 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中,

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://www.mzph.cn/news/529222.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

释放tcp连接的命令是_最实用的6个网络命令,网络故障不求人

很多弱电工程师朋友在项目中经常遇到一些网络故障,需要通过一些一些命令去检测、定位故障点,通过使用网络命令,故障解决的工作取得了事半功倍的效果。下面就一起温故而知新吧!一、ping命令(因特网包探索器)…

airpods2怎么查正品 ios11系统_拼多多AirPods2开箱评测,4种办法教你验真假,10个AirPods技巧教你玩...

大家好,Apple今天给大家分享一下拼多多上车AirPods 2无线充电盒版的经验,顺便整理了一波AirPods使用技巧,希望你用得上。入手理由自从去年10月份入手了iPhone XR,其实就挺想入款无线耳机的,所以一直在等AirPods升级换代…

java中for break的用法_java break语句的使用方法

在switch语中,break语句用来终止switch语句的执行。使程序 switch语句后的第一个语句 开始执行。在Java中,可以为每个代码块加一个括号,一个代码块通常 用大括号{}括起来的一段 代码。加标号的格式break语句有两种形式:无标签和有标签。无标签的break语句用来跳出单…

windows文件保护_Windows系统下媲美时间机器的系统备份工具,统统免费

Windows和macOS系统谁更美?不同的人有不同的见解。但体验过macOS之后很多电脑玩家会感叹,TimeMachine时间机器太好用了,Windows下有没有同类功能呢?TimeMachine提供了全盘完整备份、增量备份、文件历史版本等功能。它们在Windows …

JAVA结课_一点心情,写java结课考试之前

突然发现,已经好久没有上来写blog了,本来还以为能够天天写,后来发现,确是心有余力而不足啊。学期进入中段,课业慢慢多了,各种各样的事情也接踵而来了。本学期的java课程也已经结课了,8周32个学时…

sql怎么撤回update_腾讯SQL“现役运动员”给你的实践小技巧

引言SQL的全称是Structured Query Language(结构化查询语言),是一种古老而简洁的程序设计语言。看似平平无奇,一直被各种吐槽,但却有着众多语言所难得的漫长寿命,并展现出极好的拓展性,在不同时期衍生出不同的子语言。…

mysql 同一帐号多次登录_freeradius2.1.3 防止用户帐号重复登录

freeradius2.1.3 防止用户帐号重复登录一、修改 etc/raddb/sites-enabled 目录中的default 及inner-tunnel 这两个文件中的# Session database, used for checking Simultaneous-Use. Either the radutmp# or rlm_sql module can handle this.# The rlm_sql module is *much…

小程序input wxss_19. 教你零基础搭建小程序:wxss-尺寸单位

这章以后的四章都是介绍小程序样式文件——wxss 的使用,分为以下三个部分一、尺寸方案二、样式导入三、选择器这章先来讲wxss的尺寸单位—— rpxwxss的定义:WXSS( WeiXin Style Sheets )是⼀套样式语言,用于描述 WXML 的组件样式。与 CSS 相比…

java 最优算法_java 问题 求个最优算法

不知道是不是你要的package test;import java.util.Scanner;public class Number {/*** param args*/public static void main(String[] args) {int count 15;int val 5;Scanner input new Scanner(System.in);System.out.print("请输入开始数:");int …

某一个接口403 其他接口可以调通_Neo的务实外设指南 篇三十六:一个就够,65W快充+C口混插+最多6个设备 - 飞利浦65W摩天轮插座_插座...

2020-10-26 15:29:0623点赞23收藏2评论嗨,大家好!我是沈少!之前晒雷电3扩展坞的时候,已经有小伙伴注意到我用来提供PD充电的是一个很小巧的魔方插座。也有朋友私下提醒我,这类产品虽然支持PD快充协议,但一般…

linux java 获取路径怎么写_linux中java获取路径怎么写?

linux中java获取路径怎么写?在Unix/Linux中,路径的分隔采用正斜"/",比如"cd /home/java"。在java的代码开发中 是代表转义字符。相对路径和绝对路径. 指的是当前目录.. 指的是当前目录的上一级目录./book表示当前目录下的…

layerconfirm 自动关闭问题 没有阻塞问题_微信新版本自动更新?赶紧关闭这个功能...

前不久安卓用户也迎来了微信新版本的更新不少伙伴惊呼“猝不及防,一觉醒来发现微信自动更新了”一时间还冲上了话题的热搜榜究竟是怎么肥事?小移了解到:原来是因为部分用户设置了“微信自动更新”那么问题来了,如何关闭微信自动更…

java 动态生成getset_通过get、set方法,动态生成对象

最近在看Java的反射,把学习的东西整理一下,大家共同研究,有需要改进的地方,请大家指正。import java.beans.PropertyDescriptor;import java.lang.reflect.Field;import java.lang.reflect.Method;public class ReflectionTest {p…

list steam_在 Steam 中国版上玩单机游戏也会受到防沉迷系统管控

今天看到一个消息,Steam 中国版,也就是所谓的“蒸汽平台”,最近正在测试。重点在于,哪怕你玩“理论上无需联网”的单机游戏,游玩时间也会受到著名的防沉迷系统的限制。以下是我在动点科技编写的新闻全文(原文链接是界面…

java的默认访问权限_java类的访问权限

1.解析Java有四种访问权限, 其中三种有访问权限修饰符,分别为private,public和protected,还有一种不带任何修饰符。private: Java语言中对访问权限限制的最窄的修饰符,一般称之为“私有的”。被其修饰的类、属性以及方…

github流程图_逆天插件,VSCode里也能画流程图了?Visio可以淘汰了?

vscode-drawio简介网络之大,人才百出,在开源背景下,一些功能只有你想不到,没有做不到。这不,对于写代码的程序员来说,竟然也可以在VSCode IDE里边写代码,边画逻辑流程图了。最近,在g…

CentOS+ISCSI

九、配置iSCSI 添加1块大小为10G的虚拟硬盘; 安装iSCSI服务端targetcli; 使用新增加的硬盘创建卷组,名称为iscsivg,再创建iSCSI共享逻辑卷,逻辑 卷名称为iscsistore,大小为5G; 使用上述逻辑卷创建后端存储,名称为serverc.iscsistore; 定义iSCSI的IQN为iqn.2022-…

java c 性能比较_java 中ArrayList与LinkedList性能比较

java 中ArrayList与LinkedList性能比较今天看一框架的代码,看到有些 可以使用ArrayList的地方 使用的是 LinkedList,用到的情景是在一个循环里面进行顺序的插入操作。众所周知java里面List接口有两个实现ArrayList 和 LinkedList,他们的实现原…

spring aopalliance 包里都有什么_【九仓樱】翻包記 05 | 是什么让我的便当包里每天都带着小企鹅?!...

Sakura | 2020・05バッグ日記:< Whats in my bag ? >这里是一个全新的栏目&#xff0c;关于九仓樱の日常翻包初衷是想跟大家分享一些有趣好玩的东西想知道我到底有多少个包包吗&#xff1f;我的包包里都会有哪些你想不到的东西呢&#xff1f;LIST① MYKONOS 便当包② MY…

java 数据库操作代码_JAVA:对数据库的一系列操作代码

插入数据import java.sql.*;/*** version 2012-02-22* author*/public classInsertDemo {public static voidmain(String[] args) throws SQLException {Connection conn null;Statement stmt null;String JDriver"com.microsoft.sqlserver.jdbc.SQLServerDriver";//…