猿问

请指教,刚转服务器端开发的不是很明白这些。

如果用java写移动端的服务器是不是可以直接抛弃基于servlet的框架了,感觉那些框架能做的netty都可以做。而且struts等等框架还多了个无用的view。
其实就是问一下java编写移动app的服务器端可以用什么技术?

Netty肯定可以用的,好像也可以直接写servlet然后发布到j2ee容器?
感觉nodejs也可以,不过不是java语言的了。而且nodejs似乎不能处理业务逻辑非常复杂、计算很多的业务。

四季花海
浏览 116回答 3
3回答

慕丝7291255

其实理解本质即可:1. servlet是放到http容器中运行的,也就是说,容器已经替你完成底层的工作,例如处理连接,协议解析等,这样自己可以专注于业务逻辑的处理。拿tomcat举例,tomcat底层已经tcpip,之后实现http协议,具体io的处理是bio还是nio,这些可以配置,用户只需要写servlet处理get,post等方法即可。2. 如果不写servlet,使用netty等框架,就等于更底层一点,netty只负责tcpip的链接的处理,提供了一个框架给你,具体的协议的制定,实现等一般自己完成,使用bio或nio等需要自己控制。优缺点:1.使用tomcat,编写servlet等的方式,优点:开发效率高,client端处理灵活,只要支持http协议即可;缺点:性能相对来说,会比较低,毕竟http传递的消息头和消息体的传输还是比较大的2. 使用netty,优点:性能较高,支持的协议更灵活,可以是http,可以是自定义的协议。缺点:开发效率低,对编程要求高。

潇湘沐

完全可以,走简单字符串协议交互,并发还能得到保障,但是不方便与第三方合作与接入,还是推荐http型的api网站,json交互。这样调用方便,扩展容易。首选springMVC

函数式编程

在你的设计中是否需要,或完全应用 HTTP协议。比如消息头 状态码 消息格式 消息体这类信息。 如果你本身没有把HTTP当成应用层协议,而只是作为传输层协议,那么是的,可以完全用纯tcp替代。
随时随地看视频慕课网APP
我要回答