2014-09-22 54 views
3

得到真正的系统文件路径,虽然我是一个Servlet上下文我可以很容易地通过调用request.getServletContext()。getRealPath(UPLOAD_PATH)得到真正的系统文件路径中。请朋友们如何在Java EE 7的WebSocket Endpoint中执行相同的操作。如何从一个WebSocket的内端点

回答

0

你可以从ServerEndpointConfig#getPath()路径信息。该方法的结果与ServletContext#getRealPath()的唯一区别在于,这给出了相关路径;您可以将该方法的结果与根上下文名称相加。为了获得满意的结果,你需要实现onOpen(从javax.websocket.Endpoint类)

//called when the client first negotiates the opening of the websocket connection 
public void onOpen(Session session, ServerEndpointConfig config){ 

    String path = config.getPath(); 

} 
+0

感谢这么多@kolossus的答复,但不幸的是这并没有解决我的问题。 ServerEndpointConfig#getPath()返回已部署端点的路径。但是我所看到的是真正的系统路径。事情就可以是/ home /项目/ JAVA /网站/项目名称,只是因为它是在ServletContext中#getRealPath() – Paullo 2014-09-23 19:02:15

+0

@Paullo - 你可以使用[这](http://stackoverflow.com/a/23405830/1530938)得到servletcontext,从那里看看返回的路径是否适合你 – kolossus 2014-09-26 19:50:18

+0

我不这么认为,我已经通过API进行了搜索,但没有那样的东西。但是,如果你的事情是可行的,我会提供任何示例代码 – Paullo 2014-09-27 23:57:07

相关问题