>>URL读取服务器端文档实例//URLConnection 类是所有在应用程序和 URL 之间创建通信链路的类的抽象超类。
//URLConnection 在获取 Web 服务器上的文档方面特别有用,但也可用于连接由 URL 标识的任何资源。
//演示如何用 URLConnection 来从服务器请求文档的样本代码。
import java.io.*;
import java.net.*;
public class URLClient
{
private URLConnection conn ; //声明URL连接对象
//构造
public URLClient()
{}
//根据URL返回URL的文档内容
public String getDocument(String urlString)
{
//实例化StrignBuffer对象,用于接收文档内容
StringBuffer document = new StringBuffer(); try{
URL url = new URL(urlString); //根据URL地址,实例化URL对象
conn = url.openConnection(); //打开URL对象的连接,返回URLConnection对象
//根据URL连接对象,创建缓冲流读取器
BufferedReader reader = new BufferedReader(new InputStreamReader(conn.getInputStream()));
String line = null;
//如果读取的内容不为空,则继续读取
while((line = reader.readLine())!=null)
{
document.append(line+"\n");
}
//关闭缓冲流对象
reader.close();
}
catch(Exception e){
e.printStackTrace();
}
return document.toString();
}
public static void main(String[] args)
{
URLClient client = new URLClient();
String baidu = client.getDocument("http://www.baidu.com"); System.out.println(baidu);
}
}
>>牛人解说URL对象的工作原理服务器请求一个文档第 5 页(共6 页)getDocumentAt() 方法处理获取 Web 上的文档的实际工作:
public String getDocumentAt(String urlString) { StringBuffer document = new StringBuffer(); try { URL url = new URL(urlString); URLConnection conn = url.openConnection(); BufferedReader reader = new BufferedReader(new InputStreamReader(conn.getInputStream())); String line = null; while ((line = reader.readLine()) != null) document.append(line + "\n"); reader.close(); } catch (MalformedURLException e) { System.out.println("Unable to connect to URL: " + urlString); } catch (IOException e) { System.out.println("IOException when connecting to URL: " + urlString); } return document.toString();}
getDocumentAt() 方法有一个 String 参数,该参数包含我们想获取的文档的 URL。我们在开始时创建一个 StringBuffer 来保存文档的行。然后我们用我们传进去的 urlString 创建一个新 URL。接着创建一个 URLConnection 并打开它:
URLConnection conn = url.openConnection();
一旦有了一个 URLConnection,我们就获取它的 InputStream 并包装进 InputStreamReader,然后我们又把 InputStreamReader 包装进 BufferedReader 以使我们能够读取想从服务器上获取的文档的行。在 Java 代码中处理套接字时,我们将经常使用这种包装技术,但我们不会总是详细讨论它。在我们继续往前讲之前,您应该熟悉它:
BufferedReader reader = new BufferedReader(new InputStreamReader(conn.getInputStream()));
有了 BufferedReader,就使得我们能够容易地读取文档内容。我们在 while 循环中调用 reader 上的 readLine():
String line = null;while ((line = reader.readLine()) != null) document.append(line + "\n");
对 readLine() 的调用将直至碰到一个从 InputStream 传入的行终止符(例如换行符)时才阻塞。如果没碰到,它将继续等待。只有当连接被关闭时,它才会返回 null。在这个案例中,一旦我们获取一个行(line),我们就把它连同一个换行符一起附加(append)到名为 document 的 StringBuffer 上。这保留了服务器端上读取的文档的格式。
我们在读完行之后关闭 BufferedReader:
reader.close();
如果提供给 URL 构造器的 urlString 是无效的,那么将抛出 MalformedURLException。如果发生了别的错误,例如当从连接上获取 InputStream 时,那么将抛出 IOException。
分享到:
相关推荐
在JavaScript中,读取服务器端的XML文件通常涉及到AJAX(Asynchronous JavaScript and XML)技术,尤其是现代浏览器中广泛使用的XMLHttpRequest对象或其更高级的版本——fetch API。在本例中,我们将探讨如何使用...
在JavaScript中,与服务器端交互并读取XML文件通常涉及到Ajax技术,特别是使用XMLHttpRequest对象。这个过程可以分为几个步骤,下面将详细解释如何实现。 首先,你需要创建一个XMLHttpRequest对象,这是JavaScript...
开发者可以通过调用`PDFJS.getDocument(url)`方法来加载PDF文档,然后使用`promise`机制处理加载完成后的回调,获取PDF文档的信息。一旦文档加载完成,可以逐页渲染到网页上。 2. HTML5 Canvas技术: PDF.js通常...
在服务器端,我们通常使用编程语言如C#或ASP.NET来处理XML文件,包括读取、写入和修改XML文档。 在AJAX中,XMLHttpRequest对象是核心,它负责在后台与服务器通信。当用户触发一个事件(例如点击按钮)时,...
5. **优化性能**:为了避免一次性加载所有数据导致性能问题,可以考虑使用XPath或XSLT进行数据筛选,或者在服务器端预先处理分页。 总之,Web环境下读取XML文档并分页显示数据涉及前端与后端的协同工作。前端负责...
在服务器端,这个过程可能涉及到路由处理,根据URL决定渲染哪个组件。之后,服务器将这个HTML字符串返回给客户端,客户端可以接收到完整的HTML文档,再通过hydrate方法将服务器端生成的静态结构转化为交互式的Preact...
ASP.NET是一种基于.NET Framework的服务器端编程模型,用于构建动态Web应用程序和Web服务。这个程序源码示例专注于在ASP.NET环境中读取PowerPoint(PPT)文档,这对于那些需要在网页上展示或处理PPT内容的应用来说...
在IT行业中,PHP是一种广泛应用的服务器端脚本语言,尤其在网页开发中占有重要地位。当我们需要处理Microsoft Word文档时,PHPWord库提供了一个强大的工具,使得开发者可以用PHP来读取、修改和创建Word文件。这个...
在服务器端设置适当的Cross-Origin Resource Sharing (CORS)策略或使用crossdomain.xml文件。 - 错误处理:加载或解析XML时可能会遇到错误,所以需要添加适当的错误处理机制,如监听ErrorEvent.ERROR事件。 六、...
这篇文档将深入探讨在安卓平台上的文件下载、上传和解压操作,以及如何与JSP服务器端进行交互。首先,我们需要理解安卓应用是如何处理录音、文件上传和下载的,然后我们将探讨服务器端的JSP技术及其在文件管理中的...
### Android连接服务器端的数据交互方法 #### 摘要与背景 随着移动互联网技术的快速发展,特别是3G网络的普及,智能手机已经不仅仅是传统的通讯工具,更成为了接入互联网的重要终端之一。在这种背景下,如何让...
在这个例子中,`url`是服务器端接口的地址,`type`是请求类型,`dataType`指定我们期望服务器返回的数据类型为JSON。`success`回调函数会在请求成功并接收到数据时被调用,`data`参数就是解析后的JSON对象。`error`...
同源策略(Same-origin policy)是浏览器的一个安全机制,它限制了来自不同源的脚本对另一来源文档或资源的读取和修改。源被定义为协议、域名和端口的组合。例如,`https://www.example.com` 和 `...
这个过程涉及到图像处理、网络传输和服务器端编程等多个技术领域。以下是对这个主题的详细说明: 1. **图片上传**:图片上传通常通过HTTP或HTTPS协议进行,客户端(如网页或APP)通过表单提交或者API接口发送图片...
5. **安全性考虑**:尽管通过Java服务器端处理PDF可以增加安全性,防止直接下载带来的潜在风险,但仍然需要注意其他安全问题。例如,确保PDF文件来源可靠,防止XSS(跨站脚本攻击)和CSRF(跨站请求伪造)等Web攻击...
11. **SSI(服务器端包含)**:服务器端包含允许动态地将HTML文件与其他文件或命令结合,简化动态内容的生成。 12. **URL重写规则**:mod_rewrite模块提供了强大的规则引擎,可以改变请求的URL,这对于SEO优化和...
- **文件操作**:与服务器端的文件系统交互,负责文件的读取、写入和存储。 3. **Java端集成** - **添加依赖**:在Java项目中引入WebOffice的库文件,通常是通过Maven或Gradle等构建工具进行管理。 - **配置...
服务器端的转换工具必须能够理解并映射Word的样式到HTML样式,包括字体、字号、颜色、列表样式等。前端也需要有能力呈现这些样式。 5. **安全性与兼容性**:在实现预览功能时,需要注意跨域问题和浏览器兼容性。...