Tag: url

为什么我不能打开JBoss vfs:/ URL?

我们正在将我们的应用程序从JBoss 4升级到JBoss 6。 我们的应用程序的几个部分以一种不寻常的方式传递给客户端:在应用程序内部查找jar并从servlet发送到客户端,客户端在其中提取它们以运行某些支持function。 在JBoss 4中,我们将使用类加载器查看这些jar子,并找到一个jar:// URL,用于读取jar并将其内容发送到客户端。 在JBoss 6中,当我们执行查找时,我们得到一个vfs:/ URL。 我知道这是来自org.jboss.vfs包。 不幸的是,当我在这个URL上调用openStream()并从流中读取时,我立即得到一个EOF(read()返回-1)。 是什么赋予了? 为什么我不能读取此URL引用的资源? 我试过通过JBoss VFS API尝试访问底层VFS包来打开文件,但是大多数API似乎是私有的,我找不到从vfs:/ URL转换为VFS的例程VirtualFile对象,所以我无法到达任何地方。 我可以尝试在JBoss中找到磁盘上的文件,但这种方法在升级时听起来非常容易出错。 我们的旧方法是使用Java Web Start将jar分发到客户端,然后在Java Web Start的缓存中查找它们以提取它们。 但是,由于缓存的布局发生了变化,因此Java的每次小升级都会破坏。

Android:下载文件代码不起作用

我正在尝试从URL下载文件。 我的代码没有返回错误,但我看不到我应该在内部存储中下载的文件。 这是我的代码: package com.example.downloadfile; import java.io.BufferedOutputStream; import java.io.File; import java.io.FileOutputStream; import java.io.IOException; import java.io.InputStream; import java.net.HttpURLConnection; import java.net.URL; import android.app.Activity; import android.os.Bundle; import android.os.Environment; import android.util.Log; import android.widget.TextView; public class DownloadFile extends Activity { private static String fileName = “al.jpg”; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); TextView tv = new TextView(this); tv.setText(“This […]

在线阅读XML并存储它(使用Java)

我发现并遵循了Stackoverflow(http://stackoverflow.com/questions/2310139/how-to-read-xml-response-from-a-url-in-java)中有关如何从中读取XML文件的示例URL(您可以在我下面粘贴的代码中看到)。 我唯一的麻烦是,现在我得到了读取XML的程序,我该如何将它存储起来呢? 例如,我是否可以将信息保存到项目中内置的XML文件中(如果可能的话,这对我来说是最好的解决方案)? 例如,我在项目中内置了一个空白的XML文件。 该程序运行,从URL读取XML代码,并将其全部存储到预先构建的空白XML文件中。 我可以这样做吗? 如果我对任何事情听起来令人困惑或不清楚,请让我澄清一下我在寻找什么。 这是我的代码,如果你想看看我到目前为止: package xml.parsing.example; import java.io.IOException; import java.net.URL; import java.net.URLConnection; import javax.xml.parsers.DocumentBuilder; import javax.xml.parsers.DocumentBuilderFactory; import javax.xml.parsers.ParserConfigurationException; import javax.xml.transform.Transformer; import javax.xml.transform.TransformerException; import javax.xml.transform.TransformerFactory; import javax.xml.transform.dom.DOMSource; import javax.xml.transform.stream.StreamResult; import org.w3c.dom.Document; import org.xml.sax.SAXException; public class XmlParser { public static void main (String[] args) throws IOException, ParserConfigurationException, SAXException, TransformerException { URL url = […]

如何从RestTemplate调用URL中提取HTTP状态代码?

我正在使用RestTemplate对我们的服务进行HTTP调用,该服务返回一个简单的JSON响应。 我根本不需要解析那个JSON。 我只需要返回我从该服务中获得的任何内容。 所以我将它映射到String.class并将实际的JSON response作为字符串返回。 RestTemplate restTemplate = new RestTemplate(); String response = restTemplate.getForObject(url, String.class); return response; 现在的问题是 – 我试图在点击URL后提取HTTP Status codes 。 如何从上面的代码中提取HTTP状态代码? 我是否需要以当前的方式对其进行任何更改? 更新: – 这是我尝试过的,我能够得到回复和状态代码。 但是我总是需要像下面那样设置HttpHeaders和Entity对象吗? RestTemplate restTemplate = new RestTemplate(); //and do I need this JSON media type for my use case? HttpHeaders headers = new HttpHeaders(); headers.setContentType(MediaType.APPLICATION_JSON); //set my entity […]

服务器返回HTTP响应代码:503为URL

当我多次调用Amazon Product Advertising API时,获取“线程中的exception”主“java.io.IOException:服务器返回HTTP响应代码:503 for URL ”错误。 这是服务超载的原因吗? 一种可能的解决方案是使用Thread.Sleep(毫秒)方法。 但还有其他更复杂的解决方案吗? 像代理什么的? 以下是用于建立连接的代码: URL amazon = new URL(url); URLConnection yc = amazon.openConnection(); BufferedReader in = new BufferedReader( new InputStreamReader( yc.getInputStream())); 我正在使用Java!

泽西URL转发

在Jersey REST方法中,我想转发到另一个网站。 我怎样才能做到这一点? @Path(“/”) public class News { @GET @Produces(MediaType.TEXT_HTML) @Path(“go/{news_id}”) public String getForwardNews( @PathParam(“news_id”) String id) throws Exception { //how can I make here a forward to “http://somesite.com/news/id” (not redirect)? return “”; } } 编辑: 尝试执行以下操作时,我No thread local value in scope for proxy of class $Proxy78错误的No thread local value in scope for proxy of […]

在Java中打开URL以获取内容

我正在寻找机会在java中打开一个url。 URL url = new URL(“http://maps.google.at/maps?saddr=4714&daddr=Marchtrenk&hl=de”); InputStream is = url.openConnection().getInputStream(); BufferedReader reader = new BufferedReader( new InputStreamReader( is ) ); String line = null; while( ( line = reader.readLine() ) != null ) { System.out.println(line); } reader.close(); 我找到了那种方式。 我在程序中添加了它,发生了以下错误。 The method openConnection() is undefined for the type URL (通过url.openConnection()) 我的问题是什么? 我使用带有servlet的tomcat-server,…

Java从Servlet读取未解码的URL

我们假设我有像’=&?/;#+%’这样的字符串作为我url的一部分,让我们这样说: example.com/servletPath/someOtherPath/myString/something.html?a=b&c=d#asdf 其中myString是上面的字符串。 我编写了关键部分,因此URL看起来像 example.com/servletPath/someOtherPath/%3D%26%3F%2F%3B%23%2B%25/something.html?a=b&c=d#asdf 到现在为止还挺好。 当我在servlet中并且我读取request.getRequestURI() , request.getRequestURL()或request.getPathInfo() ,返回的值已经被解码,所以我得到像strilng一样 someOtherPath/=&?/;#+%/something.html?a=b&c=d#asdf 我无法区分真正的特殊字符和编码字符。 我通过完全禁止上面的字符解决了特殊的问题,这在这种情况下有效,但我仍然想知道有没有办法在servlet类中获取未解码的URL。 另一个编辑:当我昨晚遇到这个问题时,我太累了,无法注意到真正发生的事情,这更奇怪! 我有servlet映射,比如/ servletPath / *之后,我可以放任何我想要的东西,并根据路径的其余部分让我的servlet响应, 除非路径中有%2F。 在那种情况下, 请求永远不会访问servlet ,我得到404! 如果我把’/’代替%2F它可以正常工作。 我正在Linux上运行Java 1.6.0-04上的Tomcat 6.0.14。

Java:从FTP服务器访问文件

所以我有这个FTP服务器里面有一堆文件夹和文件。 我的程序需要访问此服务器,读取所有文件并显示其数据。 出于开发目的,我一直在处理我的硬盘驱动器上的文件,就在“src”文件夹中。 但是现在服务器已启动并运行,我需要将软件连接到它。 基本上我想要做的是获取服务器上特定文件夹中的文件列表。 这是我到目前为止: URL url = null; File folder = null; try { url = new URL (“ftp://username:password@www.superland.example/server”); folder = new File (url.toURI()); } catch (Exception e) { e.printStackTrace(); } data = Arrays.asList(folder.listFiles(new FileFilter () { public boolean accept(File file) { return file.isDirectory(); } })); 但我收到错误“URI scheme is not’file’。” 我理解这是因为我的URL以“ftp://”开头而不是“file:” 但是,我似乎无法弄清楚我应该怎么做呢! 也许有更好的方法来解决这个问题?

如何从HttpServletRequest只获取部分URL?

从以下URL我需要单独获取(http://localhost:9090/dts) 。 那是我需要删除(documents/savedoc) (OR) 需要得到 – (http://localhost:9090/dts) http://localhost:9090/dts/documents/savedoc 是否有任何方法可用于获得上述内容? 我尝试了以下并得到了结果。 但仍在努力。 System.out.println(“URL****************”+request.getRequestURL().toString()); System.out.println(“URI****************”+request.getRequestURI().toString()); System.out.println(“ContextPath****************”+request.getContextPath().toString()); URL****************http://localhost:9090/dts/documents/savedoc URI****************/dts/documents/savedoc ContextPath****************/dts 任何人都可以帮我解决这个问题吗?