使用Jersey Jersey JAX RS.WS获取Java中的当前Web文件夹
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了使用Jersey Jersey JAX RS.WS获取Java中的当前Web文件夹,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2026字,纯文字阅读大概需要3分钟。
内容图文
这似乎很容易,但似乎无法在Google上找到答案.
我需要在我的webroot文件夹中发送文件列表,类似于目录浏览.
我正在使用Glassfish,JAX-RS.WS和POJO作家的genson.
应用结构如下:
download
|- build
|- dist
|- src
|- web
| |- files
下面是我的代码
@Path("home")
public class HomeResource {
@Context
private UriInfo context;
@GET
@Produces(MediaType.APPLICATION_JSON)
public String get() {
return System.getProperty("user.dir"); // ??? Any idea what should be in here?
}
}
结果为:
/usr/lib/glassfish/glassfish/domains/domain1/config
我需要指出
/sites/download/web/
或至少
/sites/download/
因为我需要我的服务提供一个列表,例如:
/files/item.zip
/files/document.pdf
任何人都可以帮忙吗?
谢谢
解决方法:
您可以从servlet context获取real path.
package com.scotth.jaxrsrealpath;
import javax.servlet.ServletContext;
import javax.ws.rs.GET;
import javax.ws.rs.Path;
import javax.ws.rs.Produces;
import javax.ws.rs.QueryParam;
import javax.ws.rs.core.Context;
import javax.ws.rs.core.MediaType;
/**
* @author scotth
* jax-rs application deployed to /JaxRsRealPath/
*/
@Path("sample")
public class SampleResource {
@Context ServletContext servletContext;
@GET
@Produces(MediaType.TEXT_PLAIN)
public String getHello(@QueryParam("path") String requestedPath) {
String path = requestedPath == null ? "/" : requestedPath;
String actualPath = servletContext.getRealPath(path);
return String.format("Hello, world! \nRequested path: %s\nActual path: %s", path, actualPath);
}
}
在我的日蚀管理的Tomcat实例中,请求/ JaxRsRealPath / sample?path = / WEB-INF会生成所请求文件或文件夹的实际文件系统路径-可与java.io.File一起使用:
Hello, world!
Requested path: /WEB-INF
Actual path: /Users/scotth/Workspaces/eclipse45-default/.metadata/.plugins/org.eclipse.wst.server.core/tmp1/wtpwebapps/JaxRsRealPath/WEB-INF/
另一个仅请求/ JaxRsRealPath / sample的示例(然后代码检查上下文根目录/的路径):
Hello, world!
Requested path: /
Actual path: /Users/scotth/Workspaces/eclipse45-default/.metadata/.plugins/org.eclipse.wst.server.core/tmp1/wtpwebapps/JaxRsRealPath/
如果需要,您可以从那里使用File APIs获取文件的目录列表.
内容总结
以上是互联网集市为您收集整理的使用Jersey Jersey JAX RS.WS获取Java中的当前Web文件夹全部内容,希望文章能够帮你解决使用Jersey Jersey JAX RS.WS获取Java中的当前Web文件夹所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。