Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/375.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/250.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java http服务器和web文件夹_Java_Php_Web_Directory_Httpserver - Fatal编程技术网

Java http服务器和web文件夹

Java http服务器和web文件夹,java,php,web,directory,httpserver,Java,Php,Web,Directory,Httpserver,有人知道如何在Java中创建HTTP服务器,但为web设置了默认文件夹,然后从中加载文件吗?我想使用com.sun.net.httpserver类 例如,我的java文件旁边有一个名为abc的文件夹。java文件在端口8080下运行HTTP服务器。如果我打开地址http://123.123.123.123:8080/我想查看文件夹abc中的文件列表。文件夹abc中有一些文件,例如image.jpg。因此,我想在浏览器地址中打开图像文件,如http://123.123.123.123:8080/i

有人知道如何在Java中创建HTTP服务器,但为web设置了默认文件夹,然后从中加载文件吗?我想使用
com.sun.net.httpserver

例如,我的java文件旁边有一个名为abc的文件夹。java文件在端口8080下运行HTTP服务器。如果我打开地址
http://123.123.123.123:8080/
我想查看文件夹abc中的文件列表。文件夹abc中有一些文件,例如image.jpg。因此,我想在浏览器地址中打开图像文件,如
http://123.123.123.123:8080/image.jpg
。这样我就可以打开文件夹abc中的所有其他文件(还有子文件夹、子文件夹中的文件等)

  • 是否可以创建此HTTP服务器
  • 是否有可能在文件夹中运行PHP文件

  • 非常感谢您的回答。

    为什么不使用嵌入式码头?我非常确信,有了它,你可以完成你所期待的。
    如果您想在Jetty中执行PHP,请参阅为什么不使用嵌入式Jetty?我非常确信,有了它,你可以完成你所期待的。
    如果您想在Jetty中执行PHP,请参考

    一旦您创建了服务器对象,您需要为您希望用户用来获取文档的路径注册一些处理程序

    HttpServer server = HttpServer.create(new InetSocketAddress("localhost",8080));
    HttpHandler myDocsHandler = new MyDocsHandler();
    server.createContext("/abc", myDocsHandler);
    
    没有内置的默认处理程序,因此您需要编写实现HttpHandler接口的MyDocsHandler类来处理在http://localhost:8080/abc


    处理程序需要一个handle方法,该方法接受一个HttpExchange参数,该参数允许访问请求数据和响应流。在这一点上,你有责任做你需要做的事情。因此,如果您希望实际文件位于硬盘驱动器上的/usr/local/abc,则处理程序需要使用标准文件io打开请求的文件,并将其流回到用户。

    一旦您创建了服务器对象,您需要为希望用户用于获取文档的路径注册一些处理程序

    HttpServer server = HttpServer.create(new InetSocketAddress("localhost",8080));
    HttpHandler myDocsHandler = new MyDocsHandler();
    server.createContext("/abc", myDocsHandler);
    
    没有内置的默认处理程序,因此您需要编写实现HttpHandler接口的MyDocsHandler类来处理在http://localhost:8080/abc


    处理程序需要一个handle方法,该方法接受一个HttpExchange参数,该参数允许访问请求数据和响应流。在这一点上,你有责任做你需要做的事情。因此,如果您希望实际文件位于硬盘驱动器上的/usr/local/abc,您的处理程序需要使用标准文件io打开请求的文件,并将其流回到用户。

    但在我的服务器上没有安装Apache。PHP还能工作吗?这并不重要。必须安装PHP(5或更高版本和一些脚本环境)。阅读文档了解更多信息。但是在我的服务器上没有安装Apache。PHP还能工作吗?这并不重要。必须安装PHP(5或更高版本和一些脚本环境)。阅读文档了解更多信息。