用java编写app的服务器端,需要用到什么技术和框架?
首先,App的服务端跟Web的服务端没有多大区别,而且在实际的开发过程中,业务逻辑也都是共用一套,只是会针对不同的客户端做不同的适配(这点可参考Amazon,其对PC的web端,移动的Web端,移动的App都做了不同程度的适配).
其次,既然与Web的服务端没多大区别,那所用的技术也大同小异,对于App而言,服务端更多是一个数据接口,所以框架页大同小异;
最后,大致总结一下:
技术:
网络通信: tcp,http等;
Web服务:servlet, cgi脚本,asp等;
系统调度:多线程,并发等;
框架:
对应不同的web服务技术,采用的编程语言不同;
对应不同的网络通信协议,采用的框架也不同,netty->tcp,servlet等web服务框架->http等;
对应系统调度,有不同的多线程,多进程通信框架等;
对应提供不同的服务接口,有web service和restful两大类,前者基于soap协议,后者基于http协议,对应的框架就很多,不一一叙述;
除此之外,还有很多其他的技术,可先做,发现问题,自然就知道怎么去找相应的技术、解决方案(包含框架)来解决,所以先动手吧;
1.webservice通信,其中有REST风格的webservice,基于http协议;普通的webservice是基于soap的方式,如果用这种方式的话,你客户端要解析传输过来的xml,不方便!
PS:使用spring web mvc实现REST风格,非常方便,当然还有其他的框架,eg:CXF,axis2等
参考:5分钟构建spring web mvc REST风格HelloWorld
2.使用hessian,可以进行远程方法调用,实际操作比较繁琐!
3.直接使用servlet. 不推荐
服务框架:
1、servlet
2、netty
协议:
1、http 1.0
2、http 1.1
db:
mysql就可以了
ORM框架:
mybatis
缓存:
redis
能用到的差不多就这些了
比较推荐使用spring + spring mvc + 任意的orm框架(hibernate,mybatis)
通过http协议进行通信,推荐使用json格式数据进行数据交互.
相对于webservice速度更快
8 回答6.6k 阅读
4 回答715 阅读✓ 已解决
2 回答3.4k 阅读
3 回答1.9k 阅读✓ 已解决
1 回答2.2k 阅读✓ 已解决
2 回答1.5k 阅读✓ 已解决
2 回答1.3k 阅读
AXIS2之类的web service。
返回JSON数据。客户端调用URL然后直接解析JSON数据就好了。
看我的博客,这是关于如何使用AXIS2 搭建Web Service并传递JSON数据的文章。
http://blog.segmentfault.com/kylin_gu/1190000000346631