NanoHTTPD没有显示其他页面

时间:2013-03-09 20:09:39

标签: java android nanohttpd

我正在使用NanoHTTPD从Android本地托管网页。

我的问题是服务器响应我网站的索引页面,但我无法弄清楚如何导航到过去的任何页面,因为它总是会响应索引页面。

任何人都有任何教程,我很难找到任何东西。谢谢:))

private class MyHTTPD extends NanoHTTPD {
    public MyHTTPD() throws IOException {
        super(PORT, null);
    }

    @Override
    public Response serve(String uri, String method, Properties header, Properties parms, Properties files) {
        Log.d("response", "URI:" + uri + " method: " + method + " header: " + header + " parms: " + parms + " files: " + files);
        final StringBuilder buf = new StringBuilder();
        for (Entry<Object, Object> kv : header.entrySet())
            buf.append(kv.getKey() + " : " + kv.getValue() + "\n");
        handler.post(new Runnable() {
            @Override
            public void run() {
                hello.setText(buf);
            }
        });
         //load the index page
        String html = null;
        InputStream is = getClass().getResourceAsStream("/com/me/pages/index.html");
        byte[] b;
        try {
            b = new byte[is.available()];
            is.read(b);
            html = new String(b);
        } catch (IOException e) { // TODO Auto-generated catch block
            e.printStackTrace();
        }

                  //return index as response
        return new NanoHTTPD.Response(HTTP_OK, MIME_HTML, html);
    }
}

1 个答案:

答案 0 :(得分:0)

  

NanoHTTPD没有显示其他页面

当然,它不会显示其他内容,因为 petit serve函数只提供/com/me/pages/index.html文件。对于其他文件(如您所说的页面),需要将URI映射到要提供的相应文件。

例如,您可以跟随不同程序员在github上开发NanoHTTPD。网络图就在这里,一个特殊的分支可能对你的案例有用(服务多个页面)here