@annaoomph
Программист, переводчик, немножко музыкант :)

Как написать web-интерфейс для Java сервера?

Добрый день! Заранее извиняюсь за, возможно, глупый вопрос.
Есть сервер на Java, компилируется из-под Eclipse при помощи maven (JPA-проект). Пока написан только api (разрабатывался для мобильного приложения). Хочется еще накидать пару html-страничек, чтобы получали данные и, например, по запросу <путь к серверу>/page.html выдавали минимальный интерфейс. Вопрос: куда их нужно поместить? Или нужно создать абсолютно новый проект (например, JSP) и также запустить его?
Часть проекта: 59efd-clip-7kb.png?nocache=1

Пример GET запроса:
@GET
@Path("/")
@Override
public Response getAll() {
      return this.respond(DataStore.getInstance().getAllEntities(Game.class));
}
  • Вопрос задан
  • 1005 просмотров
Решения вопроса 1
@Vorh
1) Админку в дальнейшем собираетесь развивать ?
Если да то лучше , разделить frontend и backend стороны на разные проекты , для frontend заюзать какой нибудь популярный JS фреймворк наподобие Angular,2 , React и etc , который позволит удобно разрабатывать новый функционал и работать с вашим сервером через rest
2) Если вам нужно быстро и с минимум затрат , то генерируйте по нужному запросу jsp шаблон и отдавайте его , не забудь про безопасность и прикрутите простенькую авторизацию через Spring Security например

UPD:
Как отдать html ?
1) Java Servlet
public class SimpleServlet extends HttpServlet {
    public void doGet(HttpServletRequest req, HttpServletResponse resp)
        throws IOException {
 RequestDispatcher view = req.getRequestDispatcher("/path/to/file.html");
        view.forward(req, resp);    
    }
}

2) Rapidoid
On.get("/main").html((Req req) -> {
    Resp resp = req.response();
    resp.contentType(MediaType.HTML_UTF_8);
    resp.result('Main.html');
    return resp;
});

3) Spring
Можно обернуть один раз в JSP и отдать его
@RequestMapping(value = "/main", method = RequestMethod.GET)
public ModelAndView getMain()
    ModelAndView modelAndview   = new ModelAndView("success.jsp");
    return modelAndView;
}
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы