簡體   English   中英

我的Java服務器無法識別HTTP會話。 VB.NET上的客戶端

[英]My java server does not recognize the HTTP session. Client on VB.NET

對於我的Web應用程序和我的應用程序cordova,我有一個像Tomcat中的服務器一樣運行的Java應用程序(與Web應用程序相同,但具有類似BarCode Scanner的功能)。 使用此應用程序,服務器可以完美運行。 但是現在我正在使用緊湊框架3.5在VB.NET中開發應用程序的一小部分,當我登錄服務器時,將會話變量存儲...好吧,但是如果我發出新請求,我的服務器會檢測到一個新的會話,為此,我的會話變量不在此處,並且每個請求都打開一個新的Http會話。 我認為問題出在VB中。 那是我向服務器打開請求的代碼

 Try
            Dim url = "http://192.168.2.166:8084/SCTraker_Servidor/api/Session"
            Dim httpWebRequest As HttpWebRequest = DirectCast(WebRequest.Create(url), HttpWebRequest)
            httpWebRequest.Method = "POST"
            httpWebRequest.ContentLength = byteArray.Length
            httpWebRequest.ContentType = "application/json"

            Dim dataStream = httpWebRequest.GetRequestStream()
            dataStream.Write(byteArray, 0, byteArray.Length)
            dataStream.Close()

            Dim httpWebResponse As HttpWebResponse
            httpWebResponse = DirectCast(httpWebRequest.GetResponse, HttpWebResponse)

            If httpWebResponse.StatusCode = 200 Then
                Me.Hide()
                httpWebRequest.Abort()
                httpWebResponse.Close()
                Home.Show()
            Else
                BarraEstado.Text = "No ha rellenado el campo usuario o contraseña"
            End If

        Catch webException As WebException
            BarraEstado.Text = webException.Message
            Dim respuesta = webException.Response

        Catch socketException As Sockets.SocketException
            BarraEstado.Text = socketException.Message

        End Try

使用Tomcat時,您必須使用上一個請求中附加的JSESSIONID參數,或者使用服務器發送的cookie JSESSIONID

從Tomcat服務器收到響應時,查找名為JSESSIONID的cookie並將其保存。 在下一個請求中,再次設置該coockie。

如果服務器未發送Coockie,則在身份驗證后,查找以;JSESSIONID=...開頭的String並附加到URL。 將此字符串附加到您對Tomcat服務器發出的每個請求。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM