1

我遇到了一个项目Apache-Guacamole,它可以帮助您remote computers通过网络浏览器进行连接。我正在尝试将其集成到一个spring-boot application,但无法这样做。

文档理解起来相当复杂。那么,任何人都可以提供一种实现它的方法。我从一个星期开始就一直在尝试这个,但无法完成它。

我在servlet网上找到了一节课,但它不起作用。

任何帮助将不胜感激。请指导我。

谢谢你。

4

2 回答 2

2

其实很简单。首先实现官方手册中的示例servlet

然后将 servlet 类注释为 @RestController(@Controller 也可以工作),然后覆盖处理程序方法并设置 url 映射。

@Override
@RequestMapping(path = "tunnel", method = { RequestMethod.POST, RequestMethod.GET })
protected void handleTunnelRequest(HttpServletRequest request,
        HttpServletResponse response) throws ServletException {
    super.handleTunnelRequest(request, response);
}

然后您可以按照手册中的说明使用端点

于 2018-10-09T07:27:51.267 回答
0

除了 cacaocow 发布的内容之外,如果您使用的是较新版本的 spring boot,您可能需要在应用程序属性文件中包含以下内容。

spring.jackson.serialization.FAIL_ON_EMPTY_BEANS=false

server.tomcat.relaxed-query-chars={,},[,]

第一个可以防止崩溃,org.apache.guacamole.net.SimpleGuacamoleTunnel["socket"]-> org.apache.guacamole.protocol.ConfiguredGuacamoleSocket["reader"] 第二个允许 guacamole 客户端发送带有{}[]字符的查询消息,这些字符不再被较新的网络服务器支持。

其实很简单。首先实现官方手册中的示例servlet 然后将servlet 类注释为@RestController(@Controller 也可以工作)然后>覆盖处理程序方法并设置url映射。

@Override
@RequestMapping(path = "tunnel", method = { RequestMethod.POST, RequestMethod.GET })
protected void handleTunnelRequest(HttpServletRequest request,
       HttpServletResponse response) throws ServletException {
   super.handleTunnelRequest(request, response);
}

然后您可以按照手册中的说明使用端点

于 2021-04-20T20:51:50.783 回答