zoukankan      html  css  js  c++  java
  • java socket 自写静态服务器 apache

    需要在F盘下创建ooo文件夹,html页面放置其中  就可以在浏览器中访问    此端口监听 8080

    package cn.com.test09;
    
    import java.io.BufferedReader;
    import java.io.File;
    import java.io.FileInputStream;
    import java.io.IOException;
    import java.io.InputStream;
    import java.io.InputStreamReader;
    import java.io.PrintWriter;
    import java.net.ServerSocket;
    import java.net.Socket;
    
    public class t14 {
    
        public static void main(String[] args) {
            try {
                ServerSocket ss= new ServerSocket(8080);
                while(true){
                    Socket soc = ss.accept();
                    new Thread(new ServerB(soc)).start();
                }
                
            } catch (IOException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }
    
        }
    
    }
    class ServerB implements Runnable{
        private Socket soc;
        private BufferedReader br;
        private PrintWriter dos;
        String html ;
        ServerB(Socket soc){
            this.soc=soc;
            try {
                br=new BufferedReader(new InputStreamReader(soc.getInputStream()));
                dos= new PrintWriter(soc.getOutputStream());
            } catch (IOException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }
        }
        private String[] getHtml(String str,String split){
            return str.split(split);
            
        }
        @Override
        public void run() {
            // TODO Auto-generated method stub
            String s;
            try {
                String one = br.readLine();
                if(!(one.equals("GET /favicon.ico HTTP/1.1"))){
                    
                     html =getHtml(getHtml(one," ")[1],"\?")[0];
                    
                     File f= new File("F:/ooo"+html);
                        InputStream in= new FileInputStream(f);
                        byte[] b= new byte[(int) f.length()];
                        in.read(b);
                        dos.write(new String(b));
                        dos.flush();
                        System.out.println(b);
    //                    OutputStream ssss = soc.getOutputStream();
                        System.out.println("===========");
    //                    ssss.write(b);
    //                    ssss.flush();
                        in.close();
                }
                
                
                br.close();
            
                dos.close();
                //ssss.close();
                soc.close();
            } catch (IOException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }
            
        }
        
    }
  • 相关阅读:
    一、链式
    C#链式编程
    五、通过密码访问API
    四.二、控制台
    一、bootstrap-datepicker
    悔录
    四、IDS4建立Authorization server和Client
    三、IDS4建立authorization server
    一、前端请求后台方式
    【2019-10-09】思想是为了克服不懂而存在的
  • 原文地址:https://www.cnblogs.com/anholt/p/3664374.html
Copyright © 2011-2022 走看看