我有一個用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