怎样为网站的Android客户端开发java restful api开发的API

Android使用Bmob移动后端云Restful API需要注意的有关问题 - Android当前位置:& &&&Android使用Bmob移动后端云Restful API需要注意的有Android使用Bmob移动后端云Restful API需要注意的有关问题&&网友分享于:&&浏览:0次Android使用Bmob移动后端云Restful API需要注意的问题如果你自己想做一个客户端玩玩,但是又不想去搭建后台服务器,显然Bmob移动后端云是你的最佳选择。官方地址见bmob,文档地址见/docs。他提供了Android的sdk,同样也提供了Restful Api,但是个人建议Restful Api还是不适合直接在客户端使用,毕竟会暴露一下一些key的信息,但是本篇文章就是在android中使用它的restful api,原因嘛很简单,我想网络层自己控制,不想用它提供的android sdk,对于安全方面,同样给出了这种情况的解决方法。
首先你得有个账号,然后你得有个应用,具体内容见/restful/faststart/index.html?menukey=fast_start&key=start_restful
我们使用OkHttp,还需要用到Gson,增加依赖
compile 'com.squareup.okhttp:okhttp:2.5.0'
compile 'com.google.code.gson:gson:2.3.1'
增加网络访问权限
<pre class="prettyprint prettyprinted" data-original-code="
" data-snippet-id="ext.a07a4cf67b90ad77df941de12b11b97b" data-snippet-saved="false" data-csrftoken="wlzdJGob-PUBlORu9Wxf4eDhkE0NYjNzHse4" data-codota-status="done">
android:name="android.permission.INTERNET"/&
编写一个网络的请求,插入一条数据
进行请求,这部分代码是java平台的,在android上你需要开启一个线程。
注意请求头里面的几个参数,必须设置。
这时候如果你进行请求,你会发现会报一个异常
javax.net.ssl.SSLHandshakeException: sun.security.validator.ValidatorException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target
原来是https请求,我们需要获得证书。
当然这时候你有两个选择,一个是信任所有证书。
public class MyX509TrustManager
implements X509TrustManager {
public void checkClientTrusted(X509Certificate[] chain, String authType) throws CertificateException {
public void checkServerTrusted(X509Certificate[] chain, String authType) throws CertificateException {
public X509Certificate[] getAcceptedIssuers() {
return null;
TrustManager[] tm = { new MyX509TrustManager() };
SSLContext sslContext = SSLContext.getInstance("SSL", "SunJSSE");
sslContext.init(null, tm, new java.security.SecureRandom());
SSLSocketFactory ssf = sslContext.getSocketFactory();
client.setSslSocketFactory(ssf);
} catch (NoSuchAlgorithmException e) {
e.printStackTrace();
} catch (NoSuchProviderException e) {
e.printStackTrace();
} catch (KeyManagementException e) {
e.printStackTrace();
但是这种方法有安全隐患,我们还是使用证书吧。
首先用Chrome打开/,然后点击链接左边的锁的图形,切到连接项,点击证书信息,如下图
然后将证书导出即可,之后一直下一步即可。
这里假设导出的证书名字为bmob.cer,将其放到assets目录下。
然后编写一个https验证的工具类。
如果你不想使用文件,则你可以导出证书的内容,使用命令进行导出
keytool -printcert -rfc -file bmob.cer
然后将其赋值给一个字符串
private static final String CERT="-----BEGIN CERTIFICATE-----\n" +
"MIIGLjCCBRagAwIBAgIDFCb6MA0GCSqGSIb3DQEBCwUAMIGMMQswCQYDVQQGEwJJTDEWMBQGA1UE\n" +
"ChMNU3RhcnRDb20gTHRkLjErMCkGA1UECxMiU2VjdXJlIERpZ2l0YWwgQ2VydGlmaWNhdGUgU2ln\n" +
"bmluZzE4MDYGA1UEAxMvU3RhcnRDb20gQ2xhc3MgMSBQcmltYXJ5IEludGVybWVkaWF0ZSBTZXJ2\n" +
"ZXIgQ0EwHhcNMTQxMTA3MDExNzM0WhcNMTUxMTA4MDIxMDQ2WjBJMQswCQYDVQQGEwJDTjEUMBIG\n" +
"A1UEAxMLYXBpLmJtb2IuY24xJDAiBgkqhkiG9w0BCQEWFWhlc2hhb3l1ZUBmb3htYWlsLmNvbTCC\n" +
"ASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANCEvBFYJmhW+8iixdK0zlzwprsuytUGW5BH\n" +
"ye9EEkJzGzYfVnEO/v4wC3vEvlWqkwTxY/ydnneH+yo0msAN6IEt6IA+3eO55PAlooAF8b8I2e83\n" +
"usRTK4YmooZc/2GYNk2WBXvVlMuWABMKJ/oQMXlM46gffd3Z+evbbptZ5vm+QEWjUlw8fsTALakq\n" +
"JgKsrmGSNBVngx1qnm00DL/3yfR2DZHro4CDzRp4toQV3ofcnt6Nz43Z4YkAXZr5gqxge8BZ2n8P\n" +
"raQo/5wSfWoPW79Z8lPvZSZv5UIGCUAXdt0qYb3awSDsPSnMrRl03V4XmOK3RDdYDPrWMvii+YrC\n" +
"/vUCAwEAAaOCAtkwggLVMAkGA1UdEwQCMAAwCwYDVR0PBAQDAgOoMBMGA1UdJQQMMAoGCCsGAQUF\n" +
"BwMBMB0GA1UdDgQWBBR8ztcEh/lE/9fxcga6p7/b+x+pUTAfBgNVHSMEGDAWgBTrQjTQmLCrn/Qb\n" +
"awj3zGQu7w4sRTAfBgNVHREEGDAWggthcGkuYm1vYi5jboIHYm1vYi5jbjCCAVYGA1UdIASCAU0w\n" +
"ggFJMAgGBmeBDAECATCCATsGCysGAQQBgbU3AQIDMIIBKjAuBggrBgEFBQcCARYiaHR0cDovL3d3\n" +
"dy5zdGFydHNzbC5jb20vcG9saWN5LnBkZjCB9wYIKwYBBQUHAgIwgeowJxYgU3RhcnRDb20gQ2Vy\n" +
"dGlmaWNhdGlvbiBBdXRob3JpdHkwAwIBARqBvlRoaXMgY2VydGlmaWNhdGUgd2FzIGlzc3VlZCBh\n" +
"Y2NvcmRpbmcgdG8gdGhlIENsYXNzIDEgVmFsaWRhdGlvbiByZXF1aXJlbWVudHMgb2YgdGhlIFN0\n" +
"YXJ0Q29tIENBIHBvbGljeSwgcmVsaWFuY2Ugb25seSBmb3IgdGhlIGludGVuZGVkIHB1cnBvc2Ug\n" +
"aW4gY29tcGxpYW5jZSBvZiB0aGUgcmVseWluZyBwYXJ0eSBvYmxpZ2F0aW9ucy4wNQYDVR0fBC4w\n" +
"LDAqoCigJoYkaHR0cDovL2NybC5zdGFydHNzbC5jb20vY3J0MS1jcmwuY3JsMIGOBggrBgEFBQcB\n" +
"AQSBgTB/MDkGCCsGAQUFBzABhi1odHRwOi8vb2NzcC5zdGFydHNzbC5jb20vc3ViL2NsYXNzMS9z\n" +
"ZXJ2ZXIvY2EwQgYIKwYBBQUHMAKGNmh0dHA6Ly9haWEuc3RhcnRzc2wuY29tL2NlcnRzL3N1Yi5j\n" +
"bGFzczEuc2VydmVyLmNhLmNydDAjBgNVHRIEHDAahhhodHRwOi8vd3d3LnN0YXJ0c3NsLmNvbS8w\n" +
"DQYJKoZIhvcNAQELBQADggEBAF/t9Bc14BV0OwXcFf4Bs8y+p1AdbMqualCvLzjS95Z9HbPGcbRl\n" +
"W76XwaM7iFE1R4mR1lGBQsacbBHOCNeZURYWGAG5c/yqhqCmWCzVJxM88AhCzkEv98uKa3IqE1zY\n" +
"lOpYn4cMVqpPgg47QXqUfQlRoh21UTTORgiHEUY+JYNIlIXLoHtHVR0886+pIAq5fFrCwMHF45Df\n" +
"r8tuTASazhYJUlOiGQTVv5p8Kg1wJ0ftMs9xJpThcnpEWrngmnNH/8H05rvJ9dEHkpnAU4mL46Bb\n" +
"rmQe3oNoGE5EISL9KGVUMeS9wcR2kx+VmGhnAh7kjn5KuEidgfajS3XlcJ5o9t0=\n" +
"-----END CERTIFICATE-----";
然后使用OkIO里的Buffer类进行读取并设置
SSLSocketFactory sslSocketFactory = SSLUtil.getSSLSocketFactory(new Buffer().writeUtf8(CERT).inputStream())
client.setSslSocketFactory(sslSocketFactory)
当然之前我们已将将其放到assets目录下了,就不用这么麻烦的导出字符串,赋值等操作,我们之间使用该文件即可
SSLSocketFactory sslSocketFactory = SSLUtil.getSSLSocketFactory(getAssets().open(CERT_FILENAME))
client.setSslSocketFactory(sslSocketFactory)
} catch (IOException e) {
e.printStackTrace()
这时候你请求一下,就会发现可以成功请求了,并且服务器返回了信息
请求的问题解决了,那么还遗留了一个重要的问题,就是如果使用Restful API,我们的APPLICATION_ID和API_KEY就直接暴露在客户端了。有没有一种方法可以提高一定的安全性呢,方法是有的,只不过只是相对来说安全一点,但是如果人家想搞你,那也是没有办法的,方法就是使用jni获得这两个值,由jni层返回这两个字符串。
Android Studio下ndk的开发环境搭建见Android Studio使用新的Gradle构建工具配置NDK环境,这里不再累赘。
声明java层方法
public class KeyUtil {
System.loadLibrary("key");
public static native String getApplicationId();
public static native String getAPIKey();
使用alt+enter生成jni方法,并在里面返回这两个值
<pre class="prettyprint prettyprinted" data-original-code="#include
JNIEXPORT jstring JNICALL
Java_cn_edu_zafu_bmobdemo_util_KeyUtil_getApplicationId(JNIEnv *env, jclass instance) {
char returnValue[]=&8dcb9fe*************ab19e7dfd9d&;
return (*env)->NewStringUTF(env, returnValue);
JNIEXPORT jstring JNICALL
Java_cn_edu_zafu_bmobdemo_util_KeyUtil_getAPIKey(JNIEnv *env, jclass instance) {
char returnValue[]=&aebe3b71c9b*****************e560b1&;
return (*env)->NewStringUTF(env, returnValue);
}" data-snippet-id="ext.5eb349e2ad3e9fdc10973e8" data-snippet-saved="false" data-csrftoken="JNlvlUwD-f2fRHXXRHfvw_8E266uWldmU0fQ" data-codota-status="done">
JNIEXPORT jstring JNICALL
Java_cn_edu_zafu_bmobdemo_util_KeyUtil_getApplicationId(JNIEnv *env, jclass instance) {
char returnValue[]="8dcb9fe*************ab19e7dfd9d";
return (*env)-&NewStringUTF(env, returnValue);
JNIEXPORT jstring JNICALL
Java_cn_edu_zafu_bmobdemo_util_KeyUtil_getAPIKey(JNIEnv *env, jclass instance) {
char returnValue[]="aebe3b71c9b*****************e560b1";
return (*env)-&NewStringUTF(env, returnValue);
在java层要获得这两个值只要使用对应的静态方法即可。
KeyUtil.getApplicationId()
KeyUtil.getAPIKey()
最终,我们的代码也就成了这样子
public class MainActivity extends AppCompatActivity {
private static final MediaType JSON = MediaType.parse("application/ charset=utf-8");
private static final String URL ="/1/classes/Person";
private static final String CERT_FILENAME ="bmob.cer";
private static final Gson gson=new Gson();
private static final OkHttpClient client=new OkHttpClient();
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
findViewById(R.id.btn).setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
SSLSocketFactory sslSocketFactory = SSLUtil.getSSLSocketFactory(getAssets().open(CERT_FILENAME));
client.setSslSocketFactory(sslSocketFactory);
} catch (IOException e) {
e.printStackTrace();
Person person=new Person("张三","杭州",20);
RequestBody body = RequestBody.create(JSON, gson.toJson(person));
Request insert=new Request.Builder()
.addHeader("Content-Type","application/json")
.addHeader("X-Bmob-Application-Id", KeyUtil.getApplicationId())
.addHeader("X-Bmob-REST-API-Key",KeyUtil.getAPIKey())
.post(body)
client.newCall(insert).enqueue(new Callback() {
public void onFailure(Request request, IOException e) {
public void onResponse(Response response) throws IOException {
Log.e("TAG",response.body().string());
这种方法只能提高一定的安全性但是不能完全避免,人家只要反汇编你的so就能看到这两个值,你要再加强安全性就只能在jni层进行加密解密等操作了,总之就是不要直接返回字符串。
之后你在Bmob后台就能看到数据
Bmob为懒人提供了很好的后端解决方案,我们几乎不用写一句代码,就可以搭建一个强大的后台服务。
最后放上源码。
http://download.csdn.net/detail/sbsujjbcy/9135981
版权声明:本文为博主原创文章,未经博主允许不得转载。
12345678910
12345678910
12345678910 上一篇:下一篇:文章评论相关解决方案 1234567891011 Copyright & &&版权所有java培训 - 北京尚学堂【官方网站】-口碑最好的Java培训机构,就业后分期还!就业率居北京Java培训机构榜首!提供JAVA培训课程免费试听
[&&&&&&&&]
1. 2016年,新推出的”JAVA项目实战班” 有什么新变化吗?
尚学堂上门招聘企业累计达到了上千家,每周上门5-10家企业(),这种紧密度是其他培训机构不具备的。 我们直接对接企业,让我们对于企业的需求有更精准的把握。经过十年的打磨,我们于2016推出了”项目实战班”。实战才是最快的学习方法,真实项目案例的接触才能让学生学到更多的技术,因此,我们推出”三大千万级真实商业项目”传授,涵盖最热门的领域:互联网协作平台、教育平台、电商平台。
2. 尚学堂打造:”国内更新最快的课程”,每两周更新一次课程,领先全国各大机构。
众所周知,软件行业是一个变化非常快的行业,年年月月天天都在变,作为软件行业从业人员必须迅速的跟进这种潮流。尚学堂紧密结合企业需要,研发部门每两周对课程做一次评估,更新一次课程内容和案例。“快和新”将成为尚学堂区别于其他机构的重要特点!
3. JAVA程序员工资待遇怎么样? 这个行业拥有强大后劲。
看一个行业要看他的需求量是不是足够大,同时干的最好的人待遇是否足够高。 目前,JAVA行业机会非常好,薪资待遇从年薪5万到200万之间变化,天花板非常非常高,你的晋升空间非常大。 在北京上海广州深圳等一线城市,平均薪水在1万以上,职位数量也非常多。如下是智联招聘等大型网站的统计数据:
我们可以看到,岗位数量分布非常多,北京每个月需求量是21507个岗位,按照一个岗位招聘5人的平均量计算,每个月需求量就在10万人左右。缺口非常大。如果计算全国,缺口就更大了。
JAVA基础阶段
JAVA 开发基础知识 |
Eclipse 开发环境 | JavaSE 7.0 API |&JavaSE
8.0新特性&| 多线程技术 | Socket 网络技术 | Regular Expression | Java反射技术 | Properties技术 | 各种实战设计模式| Java Debug技术 | 面向对象设计原则详解 | 实例解决面向对象设计
实战数据结构
数据结构实战训练 | 数组、链表等常用数据结构实战
JAVA的动态性、Reflection技术、JVM类加载器、Class对象、Method等。
GOF23种设计模式
设计模式是开发者向高端职位走的必备技能。对于初学者具备面向对象思维和架构思维有非常大的帮助。
支撑项目(老师重点选讲一个)
微信和QQ实时聊天交互开发
尚学堂特色就业课程(一)JAVASE面试题内部详解 | 面试答题技巧详解
数据库阶段
ORACLE数据库
Oracle 基础管理;SQL 语言,PL/SQL 语言;触发器、存储过程;
序列、索引、视图对象;数据备份与移植;多表连接难题详解;MySQL数据库的使用;
MYSQL数据库
Mysql5.5/5.6数据库、navigat客户端软件; 业界常见问题设计;数据库表的设计范式;
数据库设计
设计的三大范式;PowerDesigner的使用;
JDBC基础;Statement、PreparedStatement、ResultSet结果集对象等。
数据库连接池技术
Pool池的思想;连接池技术;C3P0、proxool连接池等;使用设计模式开发连接池;详细扩展与测试池效率;
ORM对象关系映射基本思想
使用反射机制和ORM思想封装JDBC工具
SQL优化数据库常见笔试题和面试题
(重点选讲一个)
移动前端和web前端阶段
HTML5 & CSS3 & JavaScript
HTML5 语言;
CSS 3语言; JavaScript 语言;作用域,闭包,继承,模块化编程,异步加载;
BOM浏览器对象模型; DOM文档对象模型;
JS操作CSS; JS操作DOM; ECMAScript; JS操作DIV;protoype;js基于对象编程;
HTML 5新技术特点;
webSocket,地理定位,canvas;
Firefox和chrome浏览器开发者工具;javascript控制台console;
Bootstrap4.0
前端css框架,不会美工也能做出漂亮的页面
Jquery基本技术;jquery使用插件;
CommonsJS, Requires.js
javascript模块化开发
jqueryUI/jquery easyui(选讲一个)
教授企业常用jquery ui和jquery easyui组件
AJAX技术基础; AJAX技术框架; AJAX技术调试技巧;
Echart/fusioncharts/highcharts报表工具(选讲一个)
报表统计、报表处理;图表处理;
Uediter,Kindeditor在线编辑器(选讲一个)
uediter,kindeditor等在线编辑器技术、配置;uediter,kindeditor图片和文件上传处理;
WebUpload上传组件
文件上传组件的使用
JAVAEE阶段
Http协议深入
使用chrome/火狐开发者工具,深入理解协议内部机制;
Servlet 和JSP
Servlet 技术;JSP 技术; JSTL Tag Library 技术; Filter&Listener技术;报表系统; FileUploading; Tomcat 服务器技术;servlet 过滤器和AOP编程;servlet监听器;
Servlet3.0
注解方式配置, 异步Servlet编程
JSTL标签库
JSTL核心标签库,JSTL函数标签库、JSTL格式化标签库,JSTL之XML解析标签库、自定义标签技术;
CVS初步;SVN简介;SCM专业理论;
Git版本控制系统
深入学习git版本控制系统,并把自己的项目托管到github或其他git代码托管平台,尝试参与开源软件开发
Java Web实战演练
综合运用所学知识; HTML + CSS + JS; JSP + Servlet + JavaBean; FileUploading; 分页技术; 数据校验; MVC初步; Filter; Listener; HTTPLook调试; 服务器集成技术; 负载均衡与内容分发;
XML + XSL + DTD/Schema;XML数据解析; XML应用详解;CAST技术(XML数据和对象互转);web service技术;JDOM/DOM4J解析XML数据;
Tomcat服务器
服务器使用; config配置详解; 高并发访问下的tomcat优化;
Apache服务器
常用配置文件, 基于IP和域名的虚拟主机,代理服务器模块, 实时监控服务器状态
Nginx服务器
灵活简单的配置, 可定制的访问日志,反向代理,负载均衡。
Weblogic服务器
对业内多种标准的全面支持,包括EJB、JSP、JMS、JDBC、XML(标准通用标记语言的子集)和WML,使Web应用系统的实施更为简单,并且保护了投资,同时也使基于标准的解决方案的开发更加简便
Linux的介绍:Linux的发展历史、Linux和Windows的对比和优势、Linux的常见版本
Linux的安装:VMware Workstation虚拟软件安装过程、CentOS虚拟机安装过程
Linux的常用命令:常用命令的介绍、常用命令的使用和练习
VI、VIM编辑器:VI、VIM编辑器的介绍、VI、VIM扥使用和常用快捷键
Linux用户和组账户管理:用户的管理、组管理
Linux系统文件权限管理:文件权限介绍、文件权限的操作
Linux的RPM软件包管理:RPM包的介绍、RPM安装、卸载等操作
Linux网络:Linux网络的介绍、Linux网络的配置和维护
Linux上常见软件的安装:安装JDK、安装Tomcat、安装mysql
linux部署自己的java web实战项目
JSON和JAVA对象互相转化
JSON/GSON等类库
尚学堂特色就业课程(三)数据库常见笔试面试题JAVAEE常见笔试面试题TOMCAT等web服务器优化技巧
(重点选讲一个)
高级框架阶段
流行Web 框架简介
Struts2/spring4.x/hibernate4.x/spring mvc / WebWork /Velocity / Freemarker/mybatis等简介
经典设计模式
MVC模式,工厂模式,代理模式,单例模式,策略模式,责任链模式, 享元模式, IOC模式
SPRING MVC框架
Spring MVC属于SpringFrameWork的后续产品,已经融合在Spring Web Flow里面。Spring 框架提供了构建 Web 应用程序的全功能 MVC 模块。
MyBatis 是支持普通 SQL查询,存储过程和高级映射的优秀持久层框架。MyBatis 消除了几乎所有的JDBC代码和参数的手工设置以及结果集的检索。
Struts应用开发; MVC理论; Struts 常用标签Taglib;
Struts国际化支持;
Struts异常处理; Struts测试详解; Struts的多模块配置;
拦截器;自定义拦截器;
Hibernate4.x
Hibernate应用开发基础; ORM基础理论; 关系映射技术; 性能调优技术;
性能优化 一级缓存 二级缓存 查询缓存 事务与并发 悲观锁、乐观锁
Spring IoC技术; Spring AOP技术; Spring 与 Struts / Hibernate结合运用;
Spring 声明事务管理; Spring + Hibernate Spring支持Web
SSH项目实战
综合运用所学知识; Spring + Struts + Hibernate; CVS; Log4J; JUnit;
UML技术;UML分析技术;UML设计技术;UML与软件架构; RationalRose / MagicDraw
项目构建工具
Springsecurity/ Shiro
(选讲一个)
权限管理框架
Jbpm/ Activiti选讲一个
流程引擎框架
Webservice
Cxf,wsdl,rest/restful等等
前端富客服端技术。
Log4J日志管理
Logging API;
SLF4J门面日志
SLF4J是一个用于日志系统的简单Facade,允许最终用户在部署其应用时使用其所希望的日志系统。
Junit单元测试
JUnit单元测试技术;
JMeter压力测试;压力测试技术;
尚学堂特色就业课程(三)高级框架常见笔试题和面试题
(重点选讲一个)
电子商务平台支付系统设计
1、电子商城项目
1.1 系统说明和技术架构
随着社会的发展,网络的逐步大众化,人们的生活节奏的加快,大家的大部分时间都在繁忙的工作中度过。
大部分的上班族都没有时间去商场购物,为了给广大的上班族提供一个方便快捷的购物平台,这是我们开发这个网站的初衷。
商城主要以商城的广大用户为根本,以为广大的商城用户服务为中心,商品设有丰富的商品展销货架,为商城的用户提供商品丰富、
廉价的购物平台。让商城的用户能够方便快捷、用最少的钱购买到用户满意的商品。
北泰银行业务系统
企业银行项目
2.1 系统说明和技术架构
在使用企业网上银行时,企业可根据职权分配原则将相关操作人员划分为普通操作员,操作复核员,
操作授权员,企业管理员四种职能. 当前系统包含模块为: 企业网银登录,账户管理, 收付款业务, 存款管理,贷款管理,
国际结算业务申请, 安全中心等模块。
bootstrap+jsp+ spring+springMVC+mybatis
速学堂教育平台
3.1 系统说明和技术架构
速学堂在线学习平台,是一个围绕IT行业打造的在线视频学习平台,在这上面可以学习Android、iOS、开发
技术、云计算、大数据、HTML5、Oracle、数据库等各IT领域课程。平台主题功能:视频学习,资料搜索,提问,博客,在线api,在
线文档教程,资源上传下载
技术体系 Spring、SpringMVC、Mybatis
JSP、JSTL、jQuery、jQuery plugin、EasyUI、uEditor
(富文本编辑器)、CSS+DIV、freemarker
Redis,memcached(缓存服务器)
Shiro或spring security(权限管理)
Solr(搜索)
httpclient(调用系统服务)
Mysql(关系型数据库)
MyCat mysql分布式集群解决方案
LVS+Nginx(web服务器)
Quartz(定时任务)
1. 速学堂系统采用SOA架构,是目前大型企业经常采用的系统架构技术。
2. 系统前台采用bootstrap,系统后台使用jsp+jquery easyUI作为视图层
3. j2ee架构采用当下企业最流行的ssm架构,spring+spring mvc+mybatis+shiro
4. 系统前台使用freemarker|velocity做静态化页面来提高系统的性能,以应对大规模的用户量的并发
5. 用Lvs+Nginx服务器来处理图片、静态页
面以及系统之间的负载均衡,可以应付大并发的压力
6. Redis集群做缓存服务器,提高系统的响应速度
7. Solr集群提供课程,资料
,博客查询服务,提高系统的查询速度以及准确率,极大提高了用户体验。
系统之间使用rocketmq|activemq消息队列实现消息服务
8. 后台数据库采用mysql数据库,使用mycat作为中间件实现主从复制、
分库分表以实现大数据量的存储、解决数据量大时数据库瓶颈问题
9. 整个项目采用最流行的Maven来管理项目,达到项目的标准化,
易于项目的构建。
10. 使用svn来管理项目的代码和文档
北京总部地址:北京市海淀区西三旗桥东建材城西路85号神州科技园B座三层尚学堂 咨询电话:400-009-233821
北京市昌平区北七家镇东三旗(亚市)汽车交易市场尚学堂二层&&&&&&&&
上海学院地址:上海市松江区荣乐东路2369弄45号绿地伯顿231-236室
四川学院地址:成都市高新区锦晖西一街99号布鲁明顿大厦2栋1003室
电话:028-
长沙学院地址:长沙韶山南路香颂国际大厦1014 咨询电话:1/
Java培训&|&Android培训&|&ios培训&|&hadoop培训&&专业IT培训机构
北京尚学堂科技有限公司&&&京ICP备号-1&&&京公网安备83
微信扫一扫有惊喜
微信扫一扫有惊喜[关闭]&&&&Android使用Bmob移动后端云Restful API需要注意的问题
Android使用Bmob移动后端云Restful API需要注意的问题
http://blog.csdn.net/sbsujjbcy/article/details/
若举报审核通过,可奖励20下载分
被举报人:
举报的资源分:
请选择类型
资源无法下载
资源无法使用
标题与实际内容不符
含有危害国家安全内容
含有反动色情等内容
含广告内容
版权问题,侵犯个人或公司的版权
*详细原因:
VIP下载&&免积分60元/年(1200次)
您可能还需要
移动开发下载排行怎样为网站的Android客户端开发RESTful的API_百度知道
怎样为网站的Android客户端开发RESTful的API
提问者采纳
单来说就是将网站的功能移植到API方式。PS,主要就是数据格式的变化 html to json or xml看看微博,看看他们和自身网站的对应关系: 抓包分析下知乎的客户端也是可以的 ,豆瓣的 API 文档
资深电脑人
其他类似问题
为您推荐:
android客户端的相关知识
其他2条回答
我也不知道!!啊哈哈
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁}

我要回帖

更多关于 restful api 开发 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信