Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/apache-flex/4.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显示HTML中指定的图像?_Java_Html_Image - Fatal编程技术网

如何使用Java显示HTML中指定的图像?

如何使用Java显示HTML中指定的图像?,java,html,image,Java,Html,Image,嗨,我用Html制作了一个简单的网页。我在桌面上执行它,它工作正常。现在,作为评估的一部分,我正在Eclipse中制作一个客户机/服务器程序。我已经添加了我的HTML文件夹(包含HTML+img),我可以使用缓冲读取器写入客户端,但图像显示为断开的链接。有没有办法解决这个问题 import java.io.*; import java.net.*; public class Server { public static void main(String[] args) throws IOEx

嗨,我用Html制作了一个简单的网页。我在桌面上执行它,它工作正常。现在,作为评估的一部分,我正在Eclipse中制作一个客户机/服务器程序。我已经添加了我的HTML文件夹(包含HTML+img),我可以使用缓冲读取器写入客户端,但图像显示为断开的链接。有没有办法解决这个问题

import java.io.*;
import java.net.*;

public class Server {

public static void main(String[] args) throws IOException {

    final ServerSocket server = new ServerSocket(8080); 
    File html = new File("src\\html\\webpage.html");
    String sCurrentLine;    
    System.out.println("Listening for connection on port 8080 ....");

    while (true)
    { 
        try (Socket cs = server.accept()){

         String httpResponse = "HTTP/1.1 200 OK\r\n\r\n";
         cs.getOutputStream().write(httpResponse.getBytes());

            try (BufferedReader br = new BufferedReader(new FileReader(html))) 
            {
                while ((sCurrentLine = br.readLine()) != null) 
                {
                    cs.getOutputStream().write(sCurrentLine.getBytes());
                }
            }

            catch (IOException e) 
                {               
                    e.printStackTrace();
                }
         }      
    }               
  } 
}   
HTML代码:

        <!DOCTYPE html PUBLIC "-//IETF//DTD HTML 2.0//EN">
    <HTML>
       <HEAD>
          <TITLE>
            This is a Title
          </TITLE>
       </HEAD>
    <BODY>
       <H1>Hello World</H1>
       <P>This is very minimal "hello world"</P>
       <button type="button">Click Me!</button>
    <img src="tab_background.png"> 
    </BODY>
    </HTML>

这是一个标题
你好,世界

这是非常简单的“hello world”

点击我!
如果我理解正确,您正在尝试编写自己的HTTP服务器。目前,无论收到什么请求,它都会发回HTML页面。当浏览器请求图像时,它需要返回具有适当内容类型的图像。您似乎还不太了解HTML和HTTP是如何工作的。为什么不使用众多可用的HTTP服务器中的一个,而不是重新发明轮子?编写HTTP服务器绝非易事,我在这里只想通过java程序显示html文件的内容。稍后我将对所有请求使用HTTP。我只是不明白为什么在我连接到服务器时,这段代码会加载映像。。它显示所有文本、标题等,但不显示图像?它如何在不从服务器加载图像的情况下显示图像?如果您使用浏览器在flickr上浏览照片,浏览器将使用HTTP从flickr下载这些照片,就像它下载包含这些图像引用的HTML页面一样。它不能只是下载HTML并猜测图像是什么而不下载它们。由于自定义HTTP服务器不允许下载映像,因此客户端无法显示它。