我遇到了一个项目Apache-Guacamole
,它可以帮助您通过网络浏览器连接到remote computers
。我正在尝试将其集成到spring-boot application
,但无法这样做。
文档理解起来非常复杂。那么,任何人都可以提供实现它的方法。我从一周开始尝试这个,但无法完成它。
我在网上找到了一个servlet
课程,但它无效。
任何帮助将不胜感激。请指导我。
谢谢。
答案 0 :(得分:2)
实际上很简单。首先实现示例servlet from the official manual
然后将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);
}
然后您可以按照手册中的说明使用端点
答案 1 :(得分:0)
除了 cacacow 发布的内容之外,如果您使用的是较新版本的 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);
}
然后你可以使用手册中描述的端点