2

在 index.html 中,使用外部 css 并使用图像 src 的路径从文件夹中请求 css 图像。但是,图像未加载,并且 css 样式未应用于页面。

import java.io.*;
import java.util.*;

/**
 * An example of subclassing NanoHTTPD to make a custom HTTP server.
 */
public class HelloServer extends NanoHTTPD
{
    public HelloServer() throws IOException
    {
        super(8080, new File("."));
    }

    public Response serve(String uri, String method, Properties header, Properties parms, Properties files) {

        BufferedReader br = null;
        String msg="";

        try {

            String sCurrentLine;

            br = new BufferedReader(new FileReader("index.html"));

            while ((sCurrentLine = br.readLine()) != null) {
                //System.out.println(sCurrentLine);
                msg = msg + sCurrentLine;
                System.out.println(sCurrentLine);
            }

        } catch (IOException e) {
            e.printStackTrace();
        } finally {
            try {
                if (br != null)br.close();
            } catch (IOException ex) {
                ex.printStackTrace();
            }
        }
        return new NanoHTTPD.Response( HTTP_OK, MIME_HTML, msg );
    }


    public static void main( String[] args )
    {
        try
        {
            new HelloServer();
        }
        catch( IOException ioe )
        {
            System.err.println( "Couldn't start server:\n" + ioe );
            System.exit( -1 );
        }
        System.out.println( "Listening on port 8080. Hit Enter to stop.\n" );
        try { System.in.read(); } catch( Throwable t ) {};
    }
}

在 index.html 中,使用了外部 css,并使用了图像 src 的路径来从文件夹中请求图像,但是。但是,图像未加载,并且 css 样式未应用于页面。

4

1 回答 1

1

一旦你发回 HTML 文件,浏览器就会运行,并对其他资源发出后续请求——图像、JS 文件、CSS 等。你需要做的是查看“uri”参数,它会告诉你您需要将哪个文件发送回客户端。而不是硬编码“index.html”,您需要将文件名基于所请求的内容。

于 2013-08-22T13:58:05.717 回答