Java 中 PHP 的 $_SERVER['DOCUMENT_ROOT'] 相当于什么

发布于 2024-12-08 03:15:49 字数 582 浏览 1 评论 0原文

我需要知道 PHP 的 $_SERVER['DOCUMENT_ROOT'] 的 Java 等效项。

我正在编写一个 Java 后端程序,它将上传的图像作为 byte[] 并将图像保存到运行 Java 程序的服务器上。然后我想将图像网址发送给用户(前端)或作为电子邮件;这样用户就可以点击我发送的网址来查看图像。

在 PHP 中,我使用 $_SERVER['DOCUMENT_ROOT'] 加上文件的相对路径。我该如何在 Java 中做到这一点?

我没有使用服务。我正在使用 Jersey 返回 url。 (如果这很重要)

当服务器是 localhost 和“http://www.mysite.com/mypics/pic1.jpg”时,我需要返回的路径为“http://localhost:8080/mypics/pic1.jpg”在实时服务器上运行时。新的 File("./") 代码不返回“http...”;导入后netbeans找不到方法ServletContext.getContextPath()

import javax.servlet.ServletContext;

I need to know the Java equivalent of PHP's $_SERVER['DOCUMENT_ROOT'].

I am writing a Java backend program that will take an uploaded image as a byte[] and save the image to the server where my Java program is running. Then I want to send the image url to the user (front-end) or as email; so that the user can click on the url I send to view the image.

In PHP, I use $_SERVER['DOCUMENT_ROOT'] plus the relative path of the file. How do I do that in Java?

I am not using servet. I am using Jersey to return the url. (If that's important)

I need the returned path to be "http://localhost:8080/mypics/pic1.jpg" when the server is localhost and "http://www.mysite.com/mypics/pic1.jpg" when running on a live server. The new File("./") code is not returning "http..."; netbeans cannot find the method ServletContext.getContextPath(), after importing

import javax.servlet.ServletContext;

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

橘亓 2024-12-15 03:15:49

您可以使用 ServletContext.getContextPath() 获取上下文路径或使用 ServletContext.getRealPath(String path) 获取给定虚拟路径的真实路径。

You can use ServletContext.getContextPath() to get context path or use ServletContext.getRealPath(String path) to get real path for a given virtual path.

恍梦境° 2024-12-15 03:15:49

如果您不使用 servlet API,最简单的方法是创建指向 ./ 的 File 对象:

System.out.println(new File("./").getAbsolutePath());

在这种情况下,您应该在控制台中看到应用程序目录的路径。这可能是此应用程序的 $_SERVER['DOCUMENT_ROOT']

The simplest way if you not use servlet API is to create File object point to the ./:

System.out.println(new File("./").getAbsolutePath());

In this case you should see in console path to your application directory. This could be your $_SERVER['DOCUMENT_ROOT'] for this application.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文