ServletContext getRealPath 方法 - 什么是虚拟路径?

2024-03-03

我正在阅读的文档getRealPath(String s) http://docs.oracle.com/javaee/5/api/javax/servlet/ServletContext.html#getRealPath%28java.lang.String%29当我读到这个声明时我感到很困惑

返回包含给定虚拟路径的真实路径的字符串。例如,路径/index.html返回服务器文件系统上的绝对文件路径,该路径将由以下请求提供服务http://host/contextPath/index.html,其中 contextPath 是此 ServletContext 的上下文路径。

什么是虚拟路径?假设我在部署环境中,当我说 getRealPath("index.html") 时,这通常指向 WEB-INF 目录吗?或者 getRealPath() 是否开始读取根目录(在网络应用程序的文件夹名称内)?


您从Web容器内访问的资源的路径都是虚拟路径。它们的虚拟根目录是 Web 应用程序的基本文件夹。但在实际中操作系统在他们居住的地方,他们肯定会在一个“具体”的位置。getRealPath给你那条路。

假设你有一个名为索引.jsp:

请注意,无论何时使用此功能,都会对 Web 应用程序的可移植性造成影响。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

ServletContext getRealPath 方法 - 什么是虚拟路径? 的相关文章

随机推荐

  • 问题:nginx:[emerg] mkdir()“/var/cache/nginx/client_temp”失败(13:权限被拒绝)

    我正在尝试跑步Nginx on Openshift但面临这个目录权限问题 由于此错误 容器未创建 以下权限设置为手动创建的文件 drwxr xr x 3 root root 79 Dec 22 02 50 etc nginx drwxr x
  • 车祸最低门槛

    我正在使用加速度计来检测车祸 我遇到了检测车祸所需的最小阈值的问题 检测车祸所需的最低阈值是多少 Override public void onSensorChanged SensorEvent event float x event va
  • 垂直或水平调整 div 大小

    如何在不使用 css 属性的情况下调整 div 垂直或水平大小 仅使用纯 javascript 代码从高度或宽度调整大小 HTML div div This is the top side s content div div div div
  • 如何强制 Git (2.5+) HTTP 传输更喜欢 SPNEGO 而不是基本身份验证?

    Summary 我正在使用 Git for Windows 2 5 1 通过 Kerbesized Git 服务器进行身份验证 当我使用表单中的 URL 时https el2 gitlab sa c kkm GrammarTools git
  • 导出到 Apps 脚本 web 应用程序的图表数据为空

    我有一个 Google 表格 我正在使用它作为我的团队正在开展的项目的数据库 我想做的是使用这些数据在 Google 网站上构建不同的屏幕 例如 我已经能够添加一个显示所有活动项目的下拉列表 选择项目后 将返回并显示 HTML 表格 现在
  • 如何在 VSC 中注释/取消注释 jsx(使用键盘 `cmd /`)?

    谁能告诉我如何在 VSC 中注释 JSX 代码 我看了下面列出的文章 似乎都没有给出具体的解决方案 而且票证似乎已经关闭 声称评论 取消评论功能已在VSC上得到妥善解决 但是 按照建议尝试以下方法后 我仍然遇到问题 在 VSC 上禁用 su
  • 二维数组的线性排序

    我是 C 编程新手 正在尝试编写一些排序程序 我编写了线性 正常排序的程序 现在我想做一个程序来对二维数组进行排序 即如果矩阵是 4 6 1 3 2 9 5 7 8 那么结果应该是 1 2 3 4 5 6 7 8 9 由于您希望 2D 数组
  • 控制 genoPlotRplot_gene_map 中的边距

    我正在制作一个plot gene map数字由genoPlotR R包 它给出了一个水平系统发育树 其中与每个叶子对齐的是一个基因组片段 这是一个简单的例子 说明了我的用法和问题 The plot gene map函数需要一个ade4的包p
  • 使用 django Rest 框架在验证步骤之前修改数据

    我有一个简单的Model存储创建它的用户ForeignKey 该模型有对应的ModelSerializer and ModelViewSet 问题是当用户提交一个POST要创造一个新记录 user应该由后端设置 我尝试覆盖perform c
  • 如何(可移植地)使用 C++ 类层次结构和动态链接库

    好吧 我知道可移植性不是 C 的强项 但我必须让我的代码在 Mac 和 Windows 上运行 我已经提出了一种解决方案 但它并不完美 我有兴趣看看是否有人可以提出更好的解决方案 我需要在多个 DLL 包中使用类层次结构 例如 我有一个抽象
  • iOS 6 视图加载期间的设备方向处理?

    我有一个标签栏应用程序 我使用的是 XCode 4 3 3 我已经升级到 4 5 2 带有 iOS6 的东西 我的代码在shouldAutorotateToInterfaceOrientation每个视图都会检查当前设备方向并正确放置所有
  • 如何在 XAML 中构建控件网格?

    我正在尝试按照规范在 WPF 中构建 UI UI 用于编辑项目集合 每个项目都有一个可编辑的字符串属性 以及 UI 需要显示的可变数量的只读字符串 它可能看起来像这样 或者 根据数据 可能有不同数量的文本标签列 文本列的数量是完全可变的 可
  • 由于通道 url 不兼容,设备未接收 C# Windows 推送通知

    经过几个小时的试用 我仍然无法向我的应用程序发送推送通知 这就是我到目前为止所做的 激活服务于https appdev microsoft com 得到了SID 我们调用它ms app s 1 23 4 12345678901 123456
  • GCC 值得在 Windows 上使用来替代 MSVC 吗?

    我目前在 Windows 上使用 Visual Studio 2010 使用 C 进行开发 在 C 11 正式发布后 我开始使用 MSVC 中已经提供的一些功能 但是 正如预期的那样 绝大多数新更改都不受支持 我想也许即将推出的 Visua
  • Javascript 是“缓存”操作吗?

    我正在用 Javascript 实现 Levenshtein 距离函数 我想知道用维基百科的示例 星期日 和 星期六 运行它需要多少时间 所以我用了console time and console timeEnd 以确定函数执行所花费的时间
  • 水晶报表 - 最后一页为空白

    我有一个水晶报告 生成时最后一页是空白的 除了页脚 指示当前页面以及报告标题 仅当倒数第二页上显示的数据完全填满页面时才会发生这种情况 有人知道为什么会这样吗 当您选中复选框时新页面之后 您会看到一个图标就在它旁边 这个图标代表配方工作坊
  • 从 AngularJS 中的两个资源调用返回 $promise 以延迟路由更改

    Use Case 使用路由提供程序 在解析中返回 promise 将避免 UI 加载后弹出数据 但是 我在处理两个不同的资源调用并将其作为单个数组返回时遇到问题 目前的实施 当前的实现有效 但要求控制器需要两个资源 var app angu
  • 无法使用 MAVEN 进行构建,出现错误 - 无法执行目标 org.apache.maven.plugins:maven-compiler-plugin:3.1:compile

    我一直在尝试使用maven 构建代码 但我遇到了一个错误 该代码可在此 github 存储库中找到 谷歌播放爬虫 https github com Akdeniz google play crawler 我的maven显示的系统配置如下 A
  • 如何修改Solr给出的搜索结果页面?

    我打算做一个利基搜索引擎 我使用 apache nutch 1 6 作为爬虫 使用 apache solr 3 6 2 作为搜索器 我必须说 网络上有关这些技术的更新信息非常少 我按照这个教程http wiki apache org nut
  • ServletContext getRealPath 方法 - 什么是虚拟路径?

    我正在阅读的文档getRealPath String s http docs oracle com javaee 5 api javax servlet ServletContext html getRealPath 28java lang