2013-08-03 2 views
2

В index.html используется внешний css, а пути к изображению src используются для запроса изображений css из папки. Однако изображения не загружаются, а стиль CSS не применяется к странице.Как обслуживать внешние файлы css, jpg и gif из Nanohttpd (Nanohttpd работает на обычном компьютере, а не на Android)?

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 используется и пути к СРК изображения используются для запроса изображений из папки, но. Однако изображения не загружаются, а стиль CSS не применяется к странице.

ответ

1

После отправки HTML-файла браузер будет работать с последующими запросами на другие ресурсы - изображения, файлы JS, CSS и т. Д. Что вам нужно будет сделать, это посмотреть на параметр «uri» и который скажет вам, какой файл вам нужно отправить обратно клиенту. Вместо жесткого кодирования «index.html» вам нужно будет сгенерировать имя файла с того, что запрашивается.

 Смежные вопросы

  • Нет связанных вопросов^_^