Может ли HttpServlet внутри банки Uber отправить страницу, расположенную внутри банки?

Я пишу локальное веб-приложение / веб-сокет, упакованное в Uber JAR.

Это одностраничный сайт, и HttpServlet отправит HTML, который связывается с сервером WebSocket. Я бы хотел, чтобы страница осталась внутри банки и HttpServlet быть в состоянии загрузить его оттуда и отправить клиенту.

Это возможно? Если так, то как?

2 ответа

Решение

HttpServlet может вернуть все, что он хочет, все, что вам нужно сделать, это установить, что вы хотите в ответе.

Я думаю, что ответ, который вы на самом деле ищете, выглядит примерно так

public class MyServlet extends HttpServlet {
    public void doGet(HttpServletRequest request, HttpServletResponse response) {
        PrintWriter out = response.getWriter();
        InputStream input = this.class.getResourceAsStream("/path/to/this.html");
        BufferedReader reader = new BufferedReader(new InputStreamReader(input));
        String line;
        while ((line = reader.readLine()) != null) {
            out.println(line);
        }
    }
}

Непонятно, что вы просите.

Если вы пытаетесь загрузить файл из classpath (например, в jar), вы можете сделать это следующим образом

public class Test {

    public static void main(String[] args) {
        InputStream resourceAsStream = Test.class.getResourceAsStream("/test.html");
        // use the stream here...
        System.out.println(resourceAsStream);
    }
}
Другие вопросы по тегам