java网络通信知识点_Java网络通信开发URL知识点

Java网络通信开发URL知识点

URL(Uniform Resource Locator)它的中文名称是统一资源定位符,它实际上就是表示Internet上某一个资源的地址,比如说大家经常访问我们的http://www.wisestudy.cn/网站,那么在我们的网站上提供了非常多的资源,在访问网站的时候我们要输入一个地址,就是我们的大家经常说的网址www.wisestudy.cn它们实际上就是一个URL,标识这锐英源网站上的共享信息,那么URL由两部分组成,第一部分是协议名称,第二部分为资源名,它们之间用冒号间隔。

我们输入的htttp它表示的就是http协议,也就是超文本传输协议,我们用来浏览网页的时候所使用到的协议后面的www.wisestudy.cn包括我们所指定的,或者大家所省略的端口号以及目录、目录里的资源它们都称之为资源的名称,在Java中提供了一个URL类来表示统一资源定位符,它在java.net包中,如何查看URL类那?在API中输入URL,就可以看到URL类如何使用。下面我们介绍一下URL类。

URL类代表一个统一资源定位符,它是指向互联网“资源”的指针。资源可以是简单的文件或目录,也可以是对更为复杂的对象的引用,例如对数据库或搜索引擎的查询。

如何来创建一个URL的实例,我们需要知道构造方法。

URL(String spec)根据String表示形式创建URL对象,它表示相应资源的地址

URL(String protocol,String host,int port,String file)根据指定prorocol、host、port号和file创建URl对象。

URL(URL context,String spec)根据一个已存在的URL以及相应的字符串信息,来创建一个新的URL,也就是说可以根据一个父URL创建一个子URL。

下面我们在来看一下URL提供常用的方法

getFile()获取此URL的文件名

getHost()获取此URL的主机名

getPath()获取此URL的路径部分。

getPort()获取此URL的端口号

下面我们通过一个案例来了解一下URL的方法,首先我们需要创建类text02

public class Test02 {

public static void main(String[] args) {

try {

//创建一个URL实例

URL imooc=new URL("http://www.wisestudy.cn");

//后面表示参数,后面表示锚点

URL url=new URL(wisestudy, "/services_attended.html");

System.out.println("协议:"+url.getProtocol());

System.out.println("主机:"+url.getHost());

//如果未指定端口号,则使用默认的端口号,此时getPort()方法返回值为-1

System.out.println("端口:"+url.getPort());

System.out.println("文件路径:"+url.getPath());

System.out.println("文件名:"+url.getFile());

System.out.println("相对路径:"+url.getRef());

System.out.println("查询字符串:"+url.getQuery());

}

catch (MalformedURLException e) {

e.printStackTrace();

}

}

}

相信大家通过上面的案例,都会使用URL的方法了吧,下一节如何使用URL读取网页内容。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
好的,我可以为你提供一份基于 Java 实现 TCP 网络通信的教程。以下是实现 TCP 通信的基本步骤: 1. 创建服务端套接字并监听端口: ```java ServerSocket serverSocket = new ServerSocket(portNumber); Socket clientSocket = serverSocket.accept(); ``` 2. 创建客户端套接字并连接到服务器: ```java Socket socket = new Socket(serverName, portNumber); ``` 3. 使用输入输出流进行数据传输: ```java // 从输入流中读取数据 BufferedReader in = new BufferedReader(new InputStreamReader(socket.getInputStream())); String inputLine = in.readLine(); // 向输出流中写入数据 PrintWriter out = new PrintWriter(socket.getOutputStream(), true); out.println(outputLine); ``` 4. 关闭套接字和流: ```java in.close(); out.close(); socket.close(); ``` 下面是一个简单的示例,演示如何使用 Java 实现 TCP 通信: 服务端代码: ```java import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.io.PrintWriter; import java.net.ServerSocket; import java.net.Socket; public class TCPServer { public static void main(String[] args) throws IOException { int portNumber = 1234; ServerSocket serverSocket = new ServerSocket(portNumber); Socket clientSocket = serverSocket.accept(); PrintWriter out = new PrintWriter(clientSocket.getOutputStream(), true); BufferedReader in = new BufferedReader( new InputStreamReader(clientSocket.getInputStream())); String inputLine, outputLine; outputLine = "Hello, client!"; out.println(outputLine); while ((inputLine = in.readLine()) != null) { out.println(inputLine); if (inputLine.equals("Bye.")) break; } in.close(); out.close(); clientSocket.close(); serverSocket.close(); } } ``` 客户端代码: ```java import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.io.PrintWriter; import java.net.Socket; public class TCPClient { public static void main(String[] args) throws IOException { String serverName = "localhost"; int portNumber = 1234; Socket socket = new Socket(serverName, portNumber); PrintWriter out = new PrintWriter(socket.getOutputStream(), true); BufferedReader in = new BufferedReader( new InputStreamReader(socket.getInputStream())); String inputLine, outputLine; while ((inputLine = in.readLine()) != null) { System.out.println("Server: " + inputLine); outputLine = "Hello, server!"; out.println(outputLine); if (inputLine.equals("Bye.")) break; } out.close(); in.close(); socket.close(); } } ``` 这个例子中,服务端向客户端发送字符串“Hello, client!”,接着客户端会向服务端发送字符串“Hello, server!”,并不断地将服务端返回的字符串输出到控制台上。当客户端发送“Bye.”字符串时,程序结束。 希望这个简单的教程能对你有所帮助!

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值