Android連接服務器流程詳解

有同學在學習Android初級的時候需要連接服務器的數據庫,但是可能不知道整個連接的流程,我認爲需要掌握以下知識,才能在連接服務器的數據庫時遊刃有餘。

1.服務器數據庫和本地數據庫的區別
2.什麼是tomcat,它的作用是什麼?
3.什麼是服務?
4.客戶端請求服務器數據庫的時候發生了什麼?怎麼請求到數據的?

下面簡單的說說上面四個問題

  • 1.服務器數據庫和本地數據庫沒有區別,只不過請求的時候需要填入的ip地址不同,本地的ip地址一般使用localhost即可,服務器ip是公網ip。開發時,我們一般先在本地開發,也就是在本地數據庫做測試,等開發完成以後,再把本地數據庫移動到服務器數據庫。訪問時只需要把ip地址更換一下就可以了。

  • 2.tomcat的作用就是監聽8080端口,你安裝在本地上,他就監聽你本地電腦的8080端口,我們在瀏覽器裏面輸入網址如:www.baidu.com,一般默認訪問的是80端口,由於是默認所以可以省略80不寫。但是我們訪問8080端口時,tomcat就監聽到了,它會根據你請求的服務,將你的請求轉發給你請求的服務進行處理。 我們需要知道,客戶端程序和服務器端程序代碼是分開的。服務器端程序負責處理如何根據用戶請求的參數,把相應的數據返回給客戶端。 所以我們應該寫兩個項目,一個是客戶端,一個是服務器端,其中服務器端是一個Web項目。可以使用myeclipse進行編寫。

  • 3.什麼是服務? 服務可以理解爲我們寫的處理某個請求的接口,比如我們現在想要登錄,Web端的項目名叫做WebService,在這個項目裏面我們寫一個Login接口,專門負責處理用戶的登錄請求。那麼客戶端端如何訪問該請求服務呢?

  • 4.首先,客戶端應該知道數據庫所在服務器的ip地址,如果是本地就用localhost 知道了ip地址我們只是能夠連接到服務器,並不能連接到數據庫,當我們Web端項目寫好了以後,運行在tomcat這個容器中,上面已經說過,tomcat監聽8080端口,所以我們訪問服務器時,指定端口號,比如
    localhost:8080,那麼他就會訪問到tomcat中,僅僅訪問到tomcat還不夠,更進一步,再指定我們訪問的Web端項目的名稱(web端項目是運行在tomcat中的),也就localhost:8080/WebService,這樣就能訪問到服務器端處理數據庫的項目,此時我們想要登錄,那就更進一步,指定localhost:8080/WebService/Login,這樣就能訪問到登錄接口。我們知道登錄的時候需要用戶名和密碼,用戶名和密碼又是如何傳遞到服務器端的呢?

    有兩種常用的傳遞方式 get/post get方式,直接拼接在url裏面即可,如下:

  localhost:8080/WebService/Login?UserName="test"&Password="123456" ```

這樣就指定了登錄名是test和密碼123456。

Login接口收到這個請求以後,首先要把賬號和密碼取出來,然後用jdbc連接數據庫的方法,指定數據庫的名稱,並指定用戶數據所在的表,然後執行select方法,查詢有無該用戶,如果有就返回一個值,沒有返回另外一個值,客戶端根據返回的值,來決定登錄成功還是失敗。

下面說說服務器客戶端都需要用到什麼技術。

  • 1.客戶端如何發起請求? Android端發起請求,我們直接用第三方庫Okhttp,Volley等就可以,如何使用看我其他的博客。
  • 2.客戶端發出請求以後,服務器端怎麼進行處理? 要想處理客戶端發來的請求,我們需要創建一個web項目,建議使用新手建議使用Struts框架或者Servlet,這個也必須要學習,否則我們無法處理客戶端發出的請求。只要登錄註冊成功以後,請求其他數據也是同樣的道理,返回一條數據如何做?返回多條數據怎麼做,都是要解決的問題。

現在我們已經知道,客戶端向服務器8080端口發出請求,服務器端tomcat捕獲到我們的請求,根據我們想要訪問的項目名稱,把該請求交給該項目處理,進一步檢測,該請求想要訪問該項目中的哪一個服務,檢測到是Login服務,該項目把請求交給Login服務進行處理,拿到賬號和密碼去數據庫中進行查找,所以Login方法裏面需要連接數據庫,用jdbc連接數據庫的步驟,大家應該都知道了。根據查詢結果返回相應的值。





下面附上要用到的軟件的來百度雲鏈接

  • myeclipse 開發軟件(主要用來開發web項目)
    鏈接:https://pan.baidu.com/s/1lCx37vI-FE2Y8LzSqr7Z5Q 提取碼:ts3b
  • 客戶端就是用Android studio沒什麼可說的。
  • 必會用到數據庫連接的jdbc,這裏上傳mysql的jdbc
    鏈接:https://pan.baidu.com/s/1CuN2UD0aS6WnGs3xWQMw4A 提取碼:h6ft
  • tomcat可以去網上下載就可以。

如果大家看了博客還不是很理解,可以聯繫我幫你解決。(100塊一次包售後)。





在這裏插入圖片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章