转载 通过JAVA语言实现使用URL访问网络资源

本文详细介绍了Java中URL类的使用方法,包括构造方法、属性获取以及如何利用URL对象访问网络资源。通过实例代码展示了如何创建URL对象并读取网页内容。

1.url描述

url是统一资源定位符(uniform resource locator)的简称.它表示互联网上某一资源的地址.浏览器通过给定的url可以找到相应的文件或其他资源.在某些情况下,url中除ip地址以外的部分可以省略.例如:在浏览器地址栏输入java.sun.com,浏览器会默认使用http协议及相应的端口号,并使用web服务器提供的默认的文件.url的一般例子,如: http://java.sum.com , ftp:192.168.10.233 及http://java.sum.com/javase/downloads/index.jsp.

在java中,使用java.net中的url类可以创建代表互联网上某一具体资源的url对象.通过此对象,利用相关的方法,可以轻松的进行网络资源的存取.

2.1 url类

java.net 包提供url类,用url对象表示url地址.

(1) url类的构造方法

url类提供多种不同的构造方法,用于以不同形式创建url对象.

public url(string spec) throws malformedurlexception

public url(url context, string spec) throws malformedurlexception

public url(string protocol, string host, string file) throws malformedurlexception

public url(string protocol, string host, int port, string file) throws malformedurlexception

其中,参数spec是由协议名,主机名,端口号,文件名组成的字符串.参数context是已建立的url对象,参数protocol是协议名,参数host是主机名,参数file是文件名,对数port是端口号.

下面通过各种构造方法创建url对象,分别以不同的方式提供url地址的各部分信息

url myurl1=new url(“http://www.tju.edu.cn:80/”);

url myurl2=new url(“myurl1”,”support/fap.html”);

url myurl3=new url(“http”,”www.tju.edu.cn”,”index.html”);

url myurl4=new url(“http”,”www.tju.edu.cn”,80,”index.html”);

上面的myurl2地址是由myurl1地址和用相对路径表示的文件名会成的,代表的url地址是:http://www.tju.edu.cn:80/support/fap.html

(2)获取url对象的属性

一个url对象中包括各种属性,属性不能被改变,但可以通过下面的方法获取属性

public string getprotocol()//获取url的协议名

public string gethost()//获取url 的主机名

public int getport()//获取url的端口号

public string getpath()//获取url的文件路径

public string getfile()//获取url的文件名

public string getref()//获取url在文件中的相对位置

public string getquery()//获取url的查询名

2.2 利用url访问网上资源

一个url对象对应一个网址,,生成url对象后,就可以调用url对象的openstream()方法读取网址中的信息.openstream()方法的原型如下:

public final inputsream openstream()

调用openstream()方法获取的是一个inputsream输入流对象,通过read()方法只能从这个输入流中逐字节读取数据,也就是从url网址中逐字节读取信息,为了能方便地从url读取信息,通常将原始的inputsream输入流转变为其他类型的输入流,如bufferedreader等,比如读出网址www.sina.com.cn的主页内容.

package com.fenley.test;

import java.net.*;

import java.io.*;

public class web {

/**

* @param args

*/

public static void main(string[] args) {

url url=null;

inputstream is=null;

try{

url=new url("http://www.sina.com.cn");

is=url.openstream();

bufferedreader br=new bufferedreader(new inputstreamreader(is));

string line;

while((line=br.readline())!=null)

system.out.println(line);

}catch(exception ex){

ex.printstacktrace();

}finally{

try {

if (is != null)

is.close();

} catch (exception e) {

e.printstacktrace();

}

}

}

}

从以上实现网络资源的存取程序代码来看,使用java.net中的url类可以轻松实现网络资源的存取.只是要注意:url类的构造方法都抛出malformedurlexception异常,用于处理创造url对象可能产生的异常.

3. 结束语

上面实现的网络资源的存取只是简单地使用java.net中的url类实现的过程,但却很实用,对于开发java在内置的网络能力方面将具有一定的指导的意义.


======================================================
在最后,我邀请大家参加新浪APP,就是新浪免费送大家的一个空间,支持PHP+MySql,免费二级域名,免费域名绑定 这个是我邀请的地址,您通过这个链接注册即为我的好友,并获赠云豆500个,价值5元哦!短网址是http://t.cn/SXOiLh我创建的小站每天访客已经达到2000+了,每天挂广告赚50+元哦,呵呵,饭钱不愁了,\(^o^)/
解决IDEA无法创建springboot2.x版本,只能创建3.x的问题文章转载自链接:https://blog.youkuaiyun.com/dream_ready/article/details/1346398861、解释原因spring2.X版本在2023年11月24日停止维护了,因此创建spring项目时不再有2.X版本的选项,只能从3.1.X版本开始选择而Spring3.X版本不支持JDK8,最低支持JDK17,因此JDK8也无法主动选择了当然,停止维护只代表我们无法用idea主动创建spring2.X版本的项目了,但是我们依旧可以通过一些方法来创建想要的springboot版本文章转载自链接:https://blog.youkuaiyun.com/dream_ready/article/details/1346398862、解决方案2.1、用阿里云的国内源创建Spring2.X版本的项目修改Server URL为https://start.aliyun.com目前阿里云还是支持创建Spring2.X版本的项目的然后就可以愉快的创建项目了需要注意的是,通过阿里云创建的项目,初始结构与通过Spring官方创建的项目有所不同,但完全不影响使用,放心2.2、在阿里云官网创建Spring2.X版本的项目,并保存到本地,每次使用时打开即可打开阿里云官网 https://start.aliyun.com创建过程很简单,此处不再展示,记得选择依赖,创建完毕后保存本地:先点击获取代码,后点击下载代码包,下载代码包即下载该项目的压缩包会git操作的也可以用git命令下载该项目文件,只是操作不同罢了,结果都是得到一个Spring2.X版本的初始项目文件后续解压缩后直接用idea打开此项目即可可以将此压缩包保存,每次新建项目时复制出一个新的项目文件,idea直接打开即可,压缩包可以当一个永久的备份,毕竟说不定哪天阿里云也创建不了spring2.X版本的项目了呢也可以老老实实使用JDK17和Spring3.X版本,拥抱变化!2.3、下载JDK17,创建Spring3.X版本jdk17安装全方位手把手安装教程 / 已有jdk8了,安装JDK17后如何配置环境变量 / 多个不同版本的JDK,如何配置环境变量?-优快云博客这里我没有完全按照博主的来,我只是按照他的来走到配置完路径就不再操作了实测也可以正常创建3.x版本的。2.4、下载JDK17,创建Spring3.X版本后修改pom.xml,修改成2.X和JDK81、修改pom.xml修改完毕后启动一下项目看能否启动成功,若启动成功说明该修改的都修改好了,若报错,报错内容为JDK17/8不是国内源之类的问题,则继续修改,总共需要修改5个地方
03-15
### 如何在 IntelliJ IDEA 中使用阿里云创建 Spring Boot 2.x 版本项目 #### 配置 JDK 为了确保项目的兼容性和稳定性,首先需要确认所使用的 JDK 是适合 Spring Boot 2.x 的版本。Spring Boot 2.x 支持 JDK 8 及更高版本[^1]。 1. 打开 IntelliJ IDEA 并进入 **File → Project Structure (Ctrl+Alt+Shift+S)**。 2. 在弹出的窗口中选择左侧菜单中的 **Project**,设置 **Project SDK** 为 JDK 8 或者更高的受支持版本。 3. 同样在此页面下,调整 **Project language level** 到与当前 JDK 兼容的语言级别(对于 JDK 8 来说通常是 `8 - Lambdas, type annotations etc.`)[^3]。 #### 使用阿里云初始化器创建 Spring Boot 2.x 项目 由于官方 Spring Initializr 已经停止对 Spring Boot 2.x 的支持,因此可以通过自定义初始化服务来实现目标版本的选择: 1. 进入 IntelliJ IDEA 主界面并点击 **New Project**。 2. 在新建项目对话框中选择 **Spring Initializr**,然后修改默认的服务地址为阿里云提供的初始化服务 URL:`https://start.aliyun.com`[^2]。 修改方法如下: - 点击右上角的小齿轮图标 (**⚙️**)。 - 勾选 **Customize service URLs**。 - 添加新的条目并将 URL 设置为上述链接。 3. 返回到初始页面后重新加载列表,此时应该能够看到更多可选项,包括旧版本的支持情况。 4. 输入必要的基本信息如 Group、Artifact ID 和 Name 字段;特别注意的是 Version 下拉框应显示有多个可用的主要分支号供挑选——这里选取 “2.x.x.RELEASE”。 #### 调整 Maven 构建文件 (`pom.xml`) 即使通过定制化的方式成功选择了合适的框架核心组件集合,仍需进一步验证依赖项清单是否完全匹配预期需求。 ```xml <parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>2.7.9</version><!-- 此处填写最新稳定发布的子序列 --> <relativePath/> <!-- lookup parent from repository --> </parent> <properties> <java.version>1.8</java.version> </properties> ``` 如果发现某些插件或者库存在冲突提示,则可能是因为本地缓存未更新或是网络同步失败引起的问题。尝试执行以下命令强制刷新索引数据源: ```bash mvn clean install -U ``` 另外一种常见错误表现为无法解析父 POM 文件路径时,也需要按照前述指引统一全局环境设定下的编译器参数一致性问题。 --- ### 注意事项 当遇到诸如 `rg.springframework.boot` 报错的情况时,除了检查基础配置外还需要关注是否有额外的安全策略限制访问远程仓库资源的现象发生。必要时候切换镜像站点或临时关闭代理机制再试一次操作流程即可恢复正常状态。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值