Java如何為行動端寫介面開發的實例分享
本篇文章主要介紹了java如何為行動端寫接口,小編覺得挺不錯的,現在分享給大家,也給大家做個參考。一起跟著小編過來看看吧
java作為一門後端語言,其厲害之處在於web,大家比較熟知的各種網路應用,java都能做,那麼在這個行動優先的時代,如何繼續發揮java的強大呢。通常是讓java作為一個app的服務端,為app客戶端提供數據,做業務邏輯,所以我們用java來寫接口,app客戶端訪問接口返回json文件進行解析,最後實現業務邏輯。
而這種方式我們通常叫做restful。
restful是一種架構思想,是一位博士生在N年前發表的一篇博士生論文,其核心思想就是前後端分離,前端透過http請求,如www.xxxx.com/ demo/username/password 來存取後端的接口,然後後端將處理好的資料封裝為json返回,這樣,後端只需專注於具體邏輯提供接口,而前端只關心界面,提高了程式解耦性。 在行動優先的時代,restful極為重要。通常一套後台可以讓多種終端存取,包括行動端,pc端。 透過restful改良的mvc 在java中比較容易實現restful的是SpringMVC框架,他提供了一套下面是一個ios訪問我的java後台demo,java後台採用了springMVC和Hibernate。
//java端 package cotroller; import java.util.HashMap; import java.util.Map; import java.util.List; import javax.servlet.http.HttpServletRequest; import jdk.nashorn.api.scripting.JSObject; import model.Student; import model.Teacher; import org.springframework.stereotype.Controller; import org.springframework.ui.Model; import org.springframework.web.bind.annotation.PathVariable; import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMethod; import org.springframework.web.bind.annotation.ResponseBody; import dao.Get; import dao.StudentDAO; //登陆servlet @Controller public class LoginCotroller { /** * 1. value="/doLogin/{username}/{password}" 拦截 xxx/doLogin/xx/xx * 2. @ResponseBody 使用此注解将返回数据类型封装json * 3. @PathVariable("username") 截取请求1.value中{username}的值 * 4. Map<String, Object> 服务端将值放入map中再封装为json,客户端方便通过key取出value */ StudentDAO studentDAO = new StudentDAO();//调用登陆判断方法 @RequestMapping(value="/doLogin/{username}/{password}",method=RequestMethod.GET) @ResponseBody public Map<String, Object> getTeacher(@PathVariable("username") Integer username, @PathVariable("password") String password){ System.out.println("拦截了客户端json请求"); Map<String, Object> map = new HashMap<String, Object>(); if(studentDAO.loginByStudent(username, password)){ System.out.println("密码正确"); map.put("result", "1"); return map; //封装为json返回给客户端 } System.out.println("密码错误"); map.put("result", "0"); return map; //封装为json返回给客户端 } }
//ios端 #import <Foundation/Foundation.h> #import <stdio.h> int main(int argc, const char * argv[]) { @autoreleasepool { char oldUsername[128]; char oldPassword[128]; NSLog(@"请输入用户名 :"); scanf("%s", oldUsername); NSString *username = [NSString stringWithUTF8String:oldUsername]; //转换为NSString * NSLog(@"请输入密码 :"); scanf("%s", oldPassword); NSString *password = [NSString stringWithUTF8String:oldPassword]; //转换为NSString * //访问springMVC后台并解析返回的json数据 //定义一个异常 NSError *error; //定义请求action 使用stringWithFormat拼接字符串 NSString *url = [NSString stringWithFormat:@"http://154212l6t7.imwork.net:27063/partyOS_APP/doLogin/%@/%@", username, password]; //加载一个NSURL对象 NSURLRequest *request = [NSURLRequest requestWithURL:[NSURL URLWithString:url]]; //发送请求 将请求的url数据放到NSData对象中 NSData *response = [NSURLConnection sendSynchronousRequest:request returningResponse:nil error:nil]; //NSJSONSerialization从response请求中解析出数据放到字典中 NSDictionary *jsonResult = [NSJSONSerialization JSONObjectWithData:response options:NSJSONReadingMutableLeaves error:&error]; NSString *resultValue = [jsonResult objectForKey:@"result"]; NSLog(@"你的url是%@", url); NSLog(@"服务端返回值%@", resultValue); // oc字符串比较方法 resultValue isEqualToString:@"1"] 和java 的equlse类似 if([resultValue isEqualToString:@"1"]){ NSLog(@"登录成功!"); }else{ NSLog(@"登录失败,用户名或密码错误!"); } } return 0; }
以上是Java如何為行動端寫介面開發的實例分享的詳細內容。更多資訊請關注PHP中文網其他相關文章!

熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

Video Face Swap
使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

熱工具

記事本++7.3.1
好用且免費的程式碼編輯器

SublimeText3漢化版
中文版,非常好用

禪工作室 13.0.1
強大的PHP整合開發環境

Dreamweaver CS6
視覺化網頁開發工具

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)

Java 8引入了Stream API,提供了一種強大且表達力豐富的處理數據集合的方式。然而,使用Stream時,一個常見問題是:如何從forEach操作中中斷或返回? 傳統循環允許提前中斷或返回,但Stream的forEach方法並不直接支持這種方式。本文將解釋原因,並探討在Stream處理系統中實現提前終止的替代方法。 延伸閱讀: Java Stream API改進 理解Stream forEach forEach方法是一個終端操作,它對Stream中的每個元素執行一個操作。它的設計意圖是處

PHP是一種廣泛應用於服務器端的腳本語言,特別適合web開發。 1.PHP可以嵌入HTML,處理HTTP請求和響應,支持多種數據庫。 2.PHP用於生成動態網頁內容,處理表單數據,訪問數據庫等,具有強大的社區支持和開源資源。 3.PHP是解釋型語言,執行過程包括詞法分析、語法分析、編譯和執行。 4.PHP可以與MySQL結合用於用戶註冊系統等高級應用。 5.調試PHP時,可使用error_reporting()和var_dump()等函數。 6.優化PHP代碼可通過緩存機制、優化數據庫查詢和使用內置函數。 7

抽像類和接口的主要區別在於:抽像類可以包含方法的實現,而接口只能定義方法的簽名。 1.抽像類使用abstract關鍵字定義,可包含抽象和具體方法,適合提供默認實現和共享代碼。 2.接口使用interface關鍵字定義,只包含方法簽名,適合定義行為規範和多重繼承。

PHP和Python各有優勢,選擇應基於項目需求。 1.PHP適合web開發,語法簡單,執行效率高。 2.Python適用於數據科學和機器學習,語法簡潔,庫豐富。

PHP適合web開發,特別是在快速開發和處理動態內容方面表現出色,但不擅長數據科學和企業級應用。與Python相比,PHP在web開發中更具優勢,但在數據科學領域不如Python;與Java相比,PHP在企業級應用中表現較差,但在web開發中更靈活;與JavaScript相比,PHP在後端開發中更簡潔,但在前端開發中不如JavaScript。

膠囊是一種三維幾何圖形,由一個圓柱體和兩端各一個半球體組成。膠囊的體積可以通過將圓柱體的體積和兩端半球體的體積相加來計算。本教程將討論如何使用不同的方法在Java中計算給定膠囊的體積。 膠囊體積公式 膠囊體積的公式如下: 膠囊體積 = 圓柱體體積 兩個半球體體積 其中, r: 半球體的半徑。 h: 圓柱體的高度(不包括半球體)。 例子 1 輸入 半徑 = 5 單位 高度 = 10 單位 輸出 體積 = 1570.8 立方單位 解釋 使用公式計算體積: 體積 = π × r2 × h (4

PHP和Python各有優勢,適合不同場景。 1.PHP適用於web開發,提供內置web服務器和豐富函數庫。 2.Python適合數據科學和機器學習,語法簡潔且有強大標準庫。選擇時應根據項目需求決定。

Java是熱門程式語言,適合初學者和經驗豐富的開發者學習。本教學從基礎概念出發,逐步深入解說進階主題。安裝Java開發工具包後,可透過建立簡單的「Hello,World!」程式來實踐程式設計。理解程式碼後,使用命令提示字元編譯並執行程序,控制台上將輸出「Hello,World!」。學習Java開啟了程式設計之旅,隨著掌握程度加深,可創建更複雜的應用程式。
