2011-12-21 68 views
0

是否可以通過僅使用J2SE而不使用任何Web組件來完成https get/post? servlets等東西。如果可能,那麼該怎麼辦?如何做HTTPS post/get in java。

如果我使用sockets發送和接收,那麼將不會有任何獲取/發佈。我是這樣說的嗎?

我的場景如下所述。

運行在同一服務器上的應用程序A和B.應用程序A嚮應用程序B發送https帖子。應用程序B應該做些什麼來獲取該URL並處理請求參數?再次沒有servlets。這兩個應用程序都將獨立應用程序而無需Web界面。應用程序A將如何擊中我的服務器?

+4

爲什麼你不想使用servlets?它們是Java中處理http請求的標準方式。如果它只是您想要的安全通信,那麼您可以將套接字與SSL結合使用,即「SSLSocket」等。 – Thomas 2011-12-21 17:22:43

+0

+1,因爲通過套接字和線程處理,您基本上正在編寫嵌入式Web服務器。只需使用Jetty就可以。 – RichW 2011-12-21 17:50:46

+0

@Thomas Y我不使用servlets嗎?正如我所說,mmy應用程序不是一個Web應用程序。它是一個接口應用程序有些東西像中間件。 – AKV 2011-12-21 23:08:07

回答

2

我想你需要的最低限度是一個ServerSocket(或SSLServerSocket)和HttpURLConnection的(或HttpsURLConnection的)。如果你正在實現一些非常微不足道的事情,那麼用一個自定義的ServerSocket實現一個簡單的服務應該不是太多工作。

現在我想到了,我已經做了一次。完全可行:)

2

沒有冒犯,但這就是Servlets所做的,這是它們存在的全部原因。我確信有一些背道而馳的模擬Servlet的方法,但它有點失敗了。

+0

我無法在Web應用程序中部署此應用程序。沒有JSP的r涉及。這個應用程序將作爲一箇中間件,前端將是一個四流的流程。 – AKV 2011-12-21 23:09:30

+0

@Arun:我認爲你正在將J2EE/WAR/EAR與JavaServlet概念混合在一起。您可以擁有包含Java Web服務器(例如TJWS)和多個servlet的獨立應用程序。一切都在一個JAR中。 – Robert 2011-12-22 15:26:56

+0

@Robert感謝您的建議。經過多番討論後,我們決定部署在Web容器中。所以會使用servlets。我們還決定將應用程序B移到不同的服務器上。 – AKV 2011-12-22 23:17:31