張倩 秦宏 侯欣明 趙東升
摘要:隨著互聯網技術的飛速發展,移動終端和服務器的網絡結構采用Client/Server模式,本文研究了在C/S架構下,手機終端和Web服務器的通信原理和軟件設計方法。網絡協議為HTTP,數據交換格式采用JSON,采用HttpClient接口的發送請求至服務器,Servlet接口負責接收和響應客戶端請求,實現了Java開發平臺下,客戶端和服務器數據的準確傳輸。
關鍵詞:移動終端 C/S HttpClient Servlet
中圖分類號:TP311. 文獻標識碼:A 文章編號:1007-9416(2016)08-0036-01
1 引言
基于Web的網絡結構包括B/S和C/S兩種模式,B/S結構即瀏覽器-服務器,該結構的用戶工作界面是通過WWW瀏覽器來實現[1]。隨著Internet技術的速猛發展,手機、平板等移動終端多使用C/S結構,即客戶端-服務器,將任務合理分配到Client端和Server端來實現。以Android手機為客戶端的通信接口和傳統B/S結構有很大區別。因此,對移動終端和服務器的通信方式和Java程序的設計方法進行研究有很重要的意義。
2 通信系統架構
客戶端和服務器的通信采用C/S模式,即Client/erver架構。移動終端與Web服務器操作系統為Android和Windows,應用軟件均采用Java語言開發,數據交換格式采用JSON,比XML 更小、更快,更易解析。Web應用服務器采用Tomcat網絡服務器,具備運行穩定、可靠、效率高的特點[2]。Tomcat作為Servlet容器,負責接收和響應客戶端請求,在許多大型應用中可以作為現有的Internet技術和Java的中間橋梁[3]。
服務器和移動終端的通信過程可以描述為:(1)客戶端通過HTTP協議下的HttpClient接口的發送請求至服務器端;(2)Web服務器將客戶端的請求信息發送至Servlet接口;(3)Servlet接口生成響應內容,并將其傳給Web服務器;(4)服務器將響應返回給客戶端的HttpResponse接口接收。在編寫完servlet相關類后,需要在web.xml中對Servlet類進行配置,最后在Tomcat服務器上進行Java Web部署才能正常運行,通信系統結構如圖1。
3 通信接口實現方法
客戶端的應用程序通過圖形界面的請求轉換為標準的HTTP請求,數據以jSON格式發送到服務器端。客戶端調用HTTP 協議的客戶端編程工具包HttpClient。創建請求方法的實例HttpGet或HttpPost,并設置URL和請求參數。發送請求需通過調用HttpClient對象的execute()方法。通過HttpResponse接口的getEntity()方法返回響應信息,通過getStatusLine().getStatusCode()方法判斷請求是否成功,并進行相應的處理。GET操作用于獲取或查詢數據庫資源信息,而POST操作用于更新數據庫資源信息。客戶端軟件流程如圖2。
Servlet運行于服務器上,負責接收客戶端請求,經過業務邏輯組件處理后,Servlet再把響應結果返回給客戶。Servlet的主要功能在于交互式地瀏覽和修改數據,生成動態Web內容。服務器接收到客戶端的HTTP請求時,通過重載HttpServlet類中doGet()或doPost()方法來響應客戶端做出的get或post請求,我們自己編寫的servlet要繼承HttpServlet,要覆蓋doPost或者doGet方法。doGet()和doPost()有兩個HttpServletRequest和HttpServletResponse參數。HttpServletRequest接口封裝了客戶的請求信息,用來獲取URL上的信息。響應結果寫在HttpServletResponse接口中,提供客戶端的HTTP響應。在信息處理結束后,由Servlet容器把響應結果返回到發出請求的客戶端上。
參考文獻
[1]蔣義,吳建平,李星.基于WEB技術的網絡管理應用系統結構模型[J].計算機工程與應用,2002年10期.
[2]蔣海昌.網上書城系統設計與實現[D].電子科技大學,2013年.
[3]李養勝,李俊.基于JAVA的在線考試系統的設計與實現[J].物聯網技術,2015年01期.