java相关的服务器端开发是否可以抛弃基于servlet的框架了

问题描述

如果用java写移动端的服务器是不是可以直接抛弃基于servlet的框架了,感觉那些框架能做的netty都可以做。而且struts等等框架还多了个无用的view。其实就是问一下java编写移动app的服务器端可以用什么技术?Netty肯定可以用的,好像也可以直接写servlet然后发布到j2ee容器?感觉nodejs也可以,不过不是java语言的了。而且nodejs似乎不能处理业务逻辑非常复杂、计算很多的业务。请指教,刚转服务器端开发的不是很明白这些。。。

解决方案

其实理解本质即可: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
解决方案三:
推荐使用GO
解决方案四:
在你的设计中是否需要,或完全应用 HTTP协议。比如消息头 状态码 消息格式 消息体这类信息。 如果你本身没有把HTTP当成应用层协议,而只是作为传输层协议,那么是的,可以完全用纯tcp替代。
解决方案五:
的确可以考虑抛弃servlet,不过那样对开发的效率来说可能会比较糟糕,这就好像要你用单纯的nodejs实现一个网站一样,有好多的基础处理要自己来写。如果你追求的是执行效率,如在一些要求低成本并发量又很高的场景下,可以考虑使用netty,但是难度真的很高。

时间: 2024-08-03 01:48:52

java相关的服务器端开发是否可以抛弃基于servlet的框架了的相关文章

接口-java web端实现TCP服务器端开发

问题描述 java web端实现TCP服务器端开发 需求是这样的:有一个通讯模块是采用的TCP/UDP通讯协议,现在公司要求做一个接口,来实现基于TCP协议的服务器端开发,要求接口部署到WEB应用服务器WebLogic中之后就开始对本地某个端口进行监听,获取客户端的请求 解决方案 web可以直接用http协议(其实还是基于tcp),不需要用tcp了. 如果小喵的回答帮助了您,或者您希望得到小喵进一步的回答,请先采纳这个回答.问题太多,小喵愿意为采纳我的问题的哥哥们奉献更多时间.方法是光标移动到右

请问java服务器端开发就是java web开发吗?

问题描述 请问java服务器端开发就是java web开发吗? 他们两者的关系是什么?有什么相同和不同之处?求大神给出清楚准确的回答 解决方案 java服务器端开发就只是指后台的开发,javaweb开发还包括前端页面的开发的,java web开发明显内容多一些. 只要设计好前台与服务器端API的接口,前端和后台是可以分开并行开发的. 解决方案二: java服务器端开发主要是指java后台代码的编写,而java web开发是泛指利用java语言进行web系统的开发,java web开发包含了jav

Linux下服务器端开发流程及相关工具介绍(C++)

原文:Linux下服务器端开发流程及相关工具介绍(C++) 去年刚毕业来公司后,做为新人,发现很多东西都没有文档,各种工具和地址都是口口相传的,而且很多时候都是不知道有哪些工具可以使用,所以当时就想把自己接触到的这些东西记录下来,为后来者提供参考,相当于一个路线图,帮助新人尽快上手. 本文介绍的是阿里妈妈搜索直通车这边的一些开发流程及相关工具.做为新人入门手册,其中某些工具可能只有直通车这边在用,但对于其他公司的新人来说,一样是具有指导意义的. 简单介绍一下直通车这边的开发背景:直通车业务对外是

JSF:Java中面向Web开发的生旦净末丑

js|web 搞Java开发这么多年,说起J2EE Web开发,还真是百感交集.爱恨交加: 我爱J2EE服务器端编程带来的高可靠性.安全性和运行期的高效稳定性; 我恨以手工方式来编写JSP页面代码,我恨基于有限的HTML界面组件进行编程! 俺一向佩服的牛人袁红岗说得好:现状让人有时怀念VB.Delphi可视化编程的时代,有时甚至会羡慕微软的.net.Studio,因为它们的确使用起来很方便实用. 然而,Java世界所倡导的自由氛围"一切源于技术,一切源于开放"已进入我的血脉!我追求一种

java-88年新人准备转行入IT,学JAVA还是.net软件开发呢?(数学,外语底子很差)

问题描述 88年新人准备转行入IT,学JAVA还是.net软件开发呢?(数学,外语底子很差) 88年新人准备转行入IT,学JAVA还是.net软件开发呢?(数学,外语底子很差)原本想去学网管的不过后来还是觉得走开发好点吧!本人体育系毕业文化底子差~现在想学请问走JAVA还是NET好?那个入门撒比较容易初期对外语,数学要求不高 解决方案 另外补充一句,88年也不是很年轻了,底子差不要紧,但是如果不是非常热爱软件开发这行的话,还是建议不要入这行了. 而且你也可以考虑下移动开发(iOS和Android

java 编程-如何用java在后台页面开发一个计时器

问题描述 如何用java在后台页面开发一个计时器 主要用于考试系统计时,时间结束,页面自动提交到服务器求各位大神帮忙讲一下,我是一个初学者,谢谢大家了! 解决方案 直接前台获取js的倒计时就可以了,但是保险一点的话,后台也可以同时计时,通知前台自动提交试卷. 解决方案二: 客户端轮询服务器时间,到点提交就可以了. 解决方案三: 用JS做定时器就行了 var s = 59;//用来记录秒,因为需求是从59开始的. var m = residueTime-1;//用来记录分钟 var w = set

Java入门教程系列 – 开发环境搭建

原文http://go-learning.com/2012/05/23/java-gettingstart-1/ Java入门教程系列 – 开发环境搭建 Posted on 2012 年 5 月 23 日 by Johnny 在使用任何的计算机语言进行编程之前,你都需要搭建一个开发环境.简单的说,这个过程就是要安装一些开发 用的软件和进行相关的一些配置.每种计算机语言所需要的软件是不一样的,对于Java语言来说,你最少需要安装一个JDK (这是一个专有名称,要死记),JDK的全称叫 – Java

关于java RMI分布式程序开发实例

关于java RMI分布式程序开发实例   作者: javaboy2012 Email:yanek@163.com qq:    1046011462   一. 服务器端     接口定义:注意必须继承Remote接口 package com.yanek.rmi.server; import java.rmi.Remote; import java.rmi.RemoteException; import java.util.List; public interface ChannelManage

java多线程实现服务器端与多客户端之间的通信_java

用java语言构建一个网络服务器,实现客户端和服务器之间通信,实现客户端拥有独立线程,互不干扰. 应用多线程来实现服务器与多线程之间的通信的基本步骤 服务器端创建ServerSocket,循环调用accept()等待客户端链接 客户端创建一个Socket并请求和服务器端链接 服务器端接受客户端请求,创建socekt与该客户端建立专线链接 建立链接的socket在一个单独的线程上对话 服务器继续等待新的链接 服务器端Server.java package test.concurrent.socke