我有一个用C++/C#和数据库编写的客户端软件。现在我不希望客户端直接访问数据库,所以我考虑将应用程序服务器放在中间。这个应该从客户端获得一个简短的请求,向数据库询问新的数据,做一些过滤(不能在sql中完成),然后将数据返回给客户端。没有HTTP的Java应用服务器
我对这种软件的搜索把我带到了Glassfish或Tomcat,但是我的理解问题是,他们总是想用html/jsp来谈谈http。因为我的大部分数据都是经过加密的,所以我不需要这样的纯文本协议,并且只需要一个字节流就可以完全满意。 另一方面,让服务器为我处理线程池会不错(不想从头开始实现)。
经过一天多的搜索/测试,我比开始时更加困惑(ejb,beans,servlet,websocket,...在理解最简单的教程之前google了很多东西)。
TL; DR:我如何让Tomcat/Glassfish打开一个套接字并为每个请求创建一个新线程,而不涉及任何HTML/CSS/JSP?
如果您使用宁静的Web服务,则可以在客户端和服务器之间传递参数。这更符合您的计划方法。一个好的开始是https://spring.io/guides/gs/rest-service/。使用弹簧配置,您可以设置和配置大部分资源。有很多可用的例子。 –
简而言之:除非大量滥用Tomcat,否则不要这样做。 HTTP是Tomcat想要谈论的最低级协议。使用HTTP并从servlet返回二进制数据有什么问题? –
你不需要任何HTML,CSS,JSP。只写一个简单的servlet来查询数据库并以XML,JSON或纯文本形式返回结果。或重新发明轮子并编写自己的协议。但是,你根本不需要应用程序服务器。一个简单的字节流是不够的。您需要传递一些参数并以客户所理解的结构化格式返回结果。所以至少你必须实现一些基本的协议。 – vanje