开始创建基本的客户机-服务器通信



我想弄清楚如何开始一个基本的客户端-服务器通信。客户机是显示一些HTML文件的浏览器。让我们假设服务器是一个由rest API公开的普通java服务。

所以我的想法是将所有静态HTML页面(和脚本)保存在服务器上,并添加一个API,根据需要发送特定的文件。然后,客户端将触发由加载到浏览器的HTML页面触发的一些其他请求。

我想出了下面的方法来做到这一点:

    @Get
    @Path(/static-resource/{path:.*}
    public Response readStaticResource(String path){
       final String fullPath = "fullResourceDir/path";
       StreamingOutput streamingOutput = new StreamingOutput(){
           public void write(OutputStream output) throws IOException, WebApplicationException{
                InputStream resourceAsStream = getClass().getClassLoader().getResourceAsStream(resourcePath);
                IOUtils.copy(resourceAsStream, output);
           }
       }; 
       return Response.ok(streamingOutput).build();
}

所以我的问题如下:

  1. 这些听起来合理吗?我可能完全错了。通常是怎么做的?
  2. HTML页面应该放在哪里?对我来说,客户机/服务器应该构建保存这些HTML文件的完整路径,这看起来有点奇怪。正如您在代码中看到的,完整路径被添加到客户端给出的路径中。另外,作为地址一部分的静态资源看起来也有点奇怪。

我可以看到它是一个java REST API(可能是jersey)。您试图实现的是一种非常幼稚的提供HTML文件的方法。你可以选择servlet或像Spring MVC这样的框架,它们有端点和服务器视图(HTML)。

查看以下文档spring-mvc spring.ioservlet

最新更新