javahttp服务器

javahttp服务器,java,http,Java,Http,我想在本地实现一个JavaHTTP服务器,我的意思是服务器计算机将由我控制。我预计向它发送请求的客户不会超过20个。 我想知道该怎么做: 我应该使用J2EE servlet容器,比如ApacheTomcat吗 我可以使用J2SE类并使用它们构建它吗 有没有其他选择 你的经验告诉我们什么?我想最大的问题是:你为什么要建造这个 如果是为了个人发展,我会坚持使用JDK附带的任何标准库,并在此基础上构建它 另一方面,如果您有一个特定的应用程序需要一个专用的HTTP服务器,我会尝试使用一个开源servle

我想在本地实现一个JavaHTTP服务器,我的意思是服务器计算机将由我控制。我预计向它发送请求的客户不会超过20个。 我想知道该怎么做:

  • 我应该使用J2EE servlet容器,比如ApacheTomcat吗
  • 我可以使用J2SE类并使用它们构建它吗
  • 有没有其他选择

  • 你的经验告诉我们什么?

    我想最大的问题是:你为什么要建造这个

    如果是为了个人发展,我会坚持使用JDK附带的任何标准库,并在此基础上构建它


    另一方面,如果您有一个特定的应用程序需要一个专用的HTTP服务器,我会尝试使用一个开源servlet容器,比如或Tomcat,并在此基础上构建

    在您的应用程序中。除了性能非常好之外,使用和配置非常容易

    如果您要编写自己的HttpServer,那么您必须实现HTTP协议的所有方法。Tomcat可以很容易地在本地使用。

    实现特殊要求是为了练习、娱乐还是仅仅嵌入一个协议?

    你真的想构建一个直接处理协议的HTTP服务器,还是只想编写web应用程序?如果您只关心编写web应用程序,那么只需使用Tomcat、Jetty、Glassfish或其他服务器即可,这将为您节省大量工作


    如果您真的对从头开始编写自己的服务器感兴趣,那么最好的方法就是只使用Java SE,而不使用任何现有的服务器技术。

    您有很多选择,其中最重要的是,和


    我强烈建议不要编写您自己的web服务器,除非您有时间消磨时间,并想用它来编写您已经可以免费使用的东西。

    也许可以看看网站上的26个开源web服务器列表

    是实现多线程Web服务器的单个文件中的实际代码。对于您的需求,例如它们,这应该足够了

    是对代码的分析。

    Sun 1.6 JRE中嵌入了一个。它不是JavaEE或servlet兼容的,它是非常轻量级的,但它可能足以满足您的需求。不需要下载任何第三方的东西,如果这是所有你需要的


    非常奇怪的是,Javadoc是独立的,。

    说真的,它重用了现有的解决方案。你他妈的为什么想自己滚

    现在,1。我不理解你的问题是关于嵌入容器的。2.你多次提到长轮询。因此,我建议使用GlassFish v3/Grizzly(因为有很多示例,例如,请看一看)

    如果您不想依赖容器实现Comet支持的方式,请使用网站上提到的任何容器:

    Atmosphere是一个基于POJO的框架,用于将推送/推送至大众!最后是一个框架,它可以在任何基于Java的Web服务器上运行,包括、、、等,而无需等待Servlet 3.0异步支持,也无需了解Comet支持是如何由所有这些容器以不同方式实现的

    如果这不是一个问题,只需坚持使用建议的选项(GlassfishV3/Grizzly)

    对于Comet服务器实现之间的具体和最新的比较,请签出这篇文章(来源:)。它可能会帮助你做出最后的选择。。。或者不:)

    选择:试试JBoss Netty


    如果我想自定义Tomcat进行长轮询,Tomcat是否支持长轮询?我可以这样做吗?您不需要自定义Tomcat进行长轮询。这是在Web应用程序中处理的,而不是在应用程序服务器中。这是否意味着Tomcat支持长轮询?每个Web服务器都“支持”长轮询。你不用再担心了,这是什么意思?这对我来说是一个新名词。这意味着你可以直接在应用程序中使用Jetty,而不是从外部获取现有代码并将其集成到应用程序中。@Kevin我不认为最初的问题是关于嵌入任何内容。@Pascal:正要回复你,但你已经删除了你的帖子。这是我的答复。我的问题有三点,我正在考虑使用或实现其中一点。是的,你是对的,不要重新发明轮子,也不要想这样做。你给了我几种解决办法。现在对我来说,这是一个财富太多的问题;)我应该去码头、灰熊机场还是大气机场?这不是私人用途。我有点困惑,什么是基于容器的系统或基于JDKI的构建更好呢?我会说,如果你不必像别人已经做过的那样为自己编写代码就更好了(除非你这样做是为了从中学习)。码头很轻,用于很多很多项目。它是众所周知的和可靠的,它做你需要的。事实上,它实现了一个servlet容器是一个加号。我能想到的自己构建它的唯一原因是如果你需要尽可能精简的东西(但我相信也有一个OSS项目),如果我想连接到Jetty并保持连接,做一些像长时间轮询这样的事情,我能做到吗?我不能说我从经验中知道,但是我很确定你可以通过阅读jetty文档找到答案,如果有必要的话,进行适当的修改……所有这些都比你自己从头开始编写HTTP服务器所需的时间要短:)说真的-你对你想要实现的目标有最好的想法,如果我是你,我现在就可以查看jetty站点了,如果有什么你想做的事情,寻找用它来获得想法的项目。不是为了练习或娱乐。基于容器的解决方案与基于JDK的构建相比有哪些优点/缺点?基本上,我有一些移动客户端可以通过http与我交谈,请求或发送一些数据。HTTP服务器必须在所有这些客户端之间进行协调。我就是这样的人=)你不是说不