java服务器访问html_浏览器输入服务器端口号来访问html网页

在开始写代码之前,先要把准备工作做好:

把学要的资料(即要显示在网页上的html文件 和图片)放在Moudle的根目录下,如图:

7b6e9c1d05132692d21d604862f4bc7f.png

package cn.kgc.cn.kgc.bs;

import java.io.IOException;

import java.net.ServerSocket;

import java.io.InputStream;

import java.io.BufferedReader;

import java.io.InputStreamReader;

import java.io.BufferedInputStream;

import java.io.FileInputStream;

import java.io.BufferedOutputStream;

import java.net.Socket;

public class Server {

public static void main(String[] args) {

try {

//首先创建服务器的ServerSocket接口对象

ServerSocket server=new ServerSocket(8888);

while(true){

//通过server的accept()方法来对网络端进行监听,并获得网络端Socket对象

Socket socket=server.accept();

//创建多线程,以提高效率

new Thread(new Runnable() {

@Override

public void run() {

try{

//获得网络字节输入流,以便于读取网络端发送的地址请求

InputStream is=socket.getInputStream();

//使用BufferedReader把网络字节输入流包装成网络字符缓冲流,提高读取效率

BufferedReader br=new BufferedReader(new InputStreamReader(is));

//读取网络端返回的字符串请求中的第一行

String line=br.readLine();

//对第一行内容进行分割,以便于下面获取网络端需要访问的文件路径

String[]split=line.split(" ");

/**

* 分割后的元素存放在数组中

* 对下标为1的元素进行截取

* 获得学要的文件路径

*/

String sub=split[1].substring(1);

System.out.println(sub);

/**

* 需要使用服务器的本地字节输入流

* 把文件按照得到的路径写到

* 服务器的内存中

* 然后使用网络字节输出流

* 把内存中的文件写到网络端

*/

//把本地字节输入流和网络字节输出流分别包装成缓冲字符输入流和字符输出缓冲流

BufferedInputStream bis=new BufferedInputStream(new FileInputStream(sub));

BufferedOutputStream bos=new BufferedOutputStream(socket.getOutputStream());

int len=0;

//读取文件

while((len=bis.read())!=-1){

//把文件写到网络端

bos.write(len);

}

//释放资源呢

bos.close();

bis.close();

is.close();

socket.close();

}catch(IOException e){

e.printStackTrace();

}

}

}).start();

}

} catch (IOException e) {

e.printStackTrace();

}

}

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值