[英]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.