知识屋:更实用的电脑技术知识网站
所在位置:首页 > 教育

用java 写的一个简单的 web 服务器(适合新手练练)

发表时间:2022-03-23来源:网络

用java写的一个web,效果如下图;总结一下遇到的问题:

        

    1. 端口被占用,可以尝试下换端口;

 

        2. 个别电脑装的软件类型太多,有时候接收不到端口, 写对了不出效果别纠结在一台电脑,本人深受其害;

 

 

        3.保证开发过程的有效性,就要做到不断测试,测试很重要. 如果不测试一口气写了一大堆,可能一个小报错都可能让你疑惑 很久;

 

        以下是代码:

 

 

          在你的项目里建立一个包叫webroot  ,然后建立一个

 

         名为index.html的文件,在文件里丢以下代码:

 

          

服务器 123456789


     

再往下就是你的class类的代码:

              


 

/** * */ package Web.server; import java.io.File; import java.io.FileInputStream; import java.io.IOException; import java.io.PrintStream; import java.net.ServerSocket; import java.net.Socket; /** * @author Administrator * */ public class WebServer { private static final int post = 8124; private static final String uri = System.clearProperty("user.dir")+File.separator+"webroot"+File.separator; /** * @param args */ public WebServer(){ System.out.println("WebServer()------star"); System.out.println("url------------------->"+uri); System.out.println("File--------------->"+File.separator); try { ServerSocket listener=new ServerSocket(post); System.out.println("listener---服务器正在运行端口----------------->"+listener.getLocalPort()); while(true){ System.out.println("判断是否进入循环"); Socket socket=listener.accept(); System.out.println("socket------------------->"+socket.getLocalPort()); //new PrintWriter(socket.getOutputStream(),true).println("你好! 世界!!"); //BufferedReader in = new BufferedReader(new InputStreamReader(socket.getInputStream())); //System.out.println("in--------------------------->"+in); //输出流 PrintStream out = new PrintStream(socket.getOutputStream(),true); //设置路径 File fileuri=new File(uri+"index.html"); System.out.println("fileuri------------------------------>"+fileuri); //设置文件类型 String contentType=null; contentType="text/html;charset=GBK"; if(!fileuri.exists()){ //如果不存在此文件 System.out.println("没有找到这个文件"); }else{ System.out.println("找到这个文件"); /*out.println("HTTP/1.0 200 OK"); out.println(contentType); out.println();*/ } FileInputStream fis=null; fis=new FileInputStream(fileuri); System.out.println("fis------------------------->"+fis); byte data[]; data = new byte[fis.available()]; System.out.println("data------------------>"+data); fis.read(data); out.write(data); out.close(); if(fis!=null){ fis.close(); } socket.close(); } } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } } /*public void run(){ System.out.println("run()--------------start"); }*/ public static void main(String[] args) { // TODO Auto-generated method stub new WebServer(); } }


 

 

  

收藏
  • 人气文章
  • 最新文章
  • 下载排行榜
  • 热门排行榜