网络服务器的实现[关闭]

2023-12-05

我想用纯 Java 实现我自己的网络服务器 Web 服务器应该仅支持静态资源(即 html、js、css、图片、电影等)

您能推荐一个关于如何实现这样的事情的教程或文章吗? 我应该使用少量进程或线程池,还是应该考虑像 NodeJS 那样面向循环事件?

我知道有一些免费的网络服务器可以完全满足我的需求,但我想将其作为对自己的练习。


如果您将此作为练习,我建议您使用事件驱动模型。

我认为没有关于这个主题的教程,因为所需的知识范围非常广泛 - HTTP 协议、文件访问、线程和并发、配置文件管理、套接字通信、日志记录、错误处理、MIME 类型......是的,即使只是共享静态资源,它仍然是一个大问题。

阅读一下,祝你好运!

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

网络服务器的实现[关闭] 的相关文章

随机推荐

  • DataGridTemplateColumns、AutoGenerateColumns=true 并绑定到 DataTable

    我正在与一系列问题作斗争 我有一个动态数据集 我手动将其组装成数据表 我必须自动生成列 因为数据不是静态的 我需要将组合框的 ItemsSource 绑定到每个单元格中定义的 Observable 集合 虽然我认为这很容易 但 ComboB
  • 通过微型应用对可穿戴设备上的通知进行分组

    我为可穿戴设备构建了一个微型应用程序 现在我正在处理设备上的通知 这是我的示例代码 NotificationCompat Builder builder new NotificationCompat Builder context setC
  • Apache 和 CentOS 中的默认会话超时

    任何人都可以帮我找出 apache 和 CentOS 中的默认会话超时 这来自 php 中php ini而不是 apache 或操作系统 默认值为 1440 以秒为单位 即 24 分钟 但这取决于您的托管提供商 您正在寻找的具体设置是 se
  • Spring Data REST:自定义方法验证

    我正在尝试使用Spring Data REST带有注释的存储库 RepositoryRestResource注释与自定义方法实现一起 有2种情况 1 我有 REST 存储库 注释为 RepositoryRestResource映射到 use
  • 使用字节数据类型时 JAVA 中的精度损失

    byte b 9 b b 6 给出编译错误 可能会损失精度 为什么b 9不给出错误 而b b 9造成精度损失 有人告诉我9 或任何数字 被视为int因此损失精度 但那为什么呢b 9不会给出任何精度损失误差吗 也当写成b 6 代码不会给出任何
  • DDD - 实体不能直接访问存储库的规则

    在领域驱动设计中 似乎有lots of 协议实体不应直接访问存储库 这是来自埃里克 埃文斯吗领域驱动设计书上的 还是从别的地方来的 对于其背后的推理 哪里有一些好的解释 编辑 澄清一下 我不是在谈论将数据访问与业务逻辑分离到单独层的经典 O
  • 如何在改造Android中发送对象数组?

    我有一个要在服务调用中传递的以下对象数组 ParkingSpace sid WorldSensing vhu6lom3sovk6ahpogebfewk5kqadvs4 5385fc250cf2497dfe5679d1 ParkingSpac
  • CakePHP 3.0 没有 intl 扩展就无法运行

    我正在尝试在共享主机上安装并运行 CakePHP 3 0 项目 然而 CakePHP 3 0 需要php intl扩展 但托管提供商拒绝我安装 启用intl共享主机上的扩展 我怎样才能运行 CakePHP 3 0 而不intl扩大 有没有办
  • NetBeans。禁用错误检查下划线

    如何在 NetBeans 6 9 1 中禁用错误 检查 源代码中出现红线是很烦人的 这类似于NetBeans 关闭 红色波浪下划线 如何 但我想完全禁用下划线 而不仅仅是在打字时 它错误地解析 PHP 源并忽略语法错误 Netbeans 有
  • 比较 Python Pandas DataFrame 的匹配行

    我有这个数据框 df1 在熊猫中 df1 pd DataFrame np random rand 10 4 columns list ABCD print df1 A B C D 0 860379 0 726956 0 394529 0 8
  • SSL 错误/RSA 预主密钥错误

    有人知道 PayPal 沙箱中遇到的错误是什么问题吗 上次运行良好几个月 我们更换了服务器 IPN 停止运行 我们不确定是 PayPal 问题还是我们的问题 在 Web 服务器访问日志中 没有显示 PayPal IPN POST 日志条目
  • 将 MultiLabelDataset 转换为 Guava Multimap 以进行打印/检查

    我正在使用以下程序 public static void main String args throws Exception String input args 0 InputStream is new BufferedInputStrea
  • 局部变量需要声明为final

    我收到错误 局部变量框是从内部类内部访问的 需要声明为最终的 这看起来不错 但我真的不认为这是最好的解决方案 所以我希望其他人可以帮助我 这是我的代码 public void showPublisherBox JComboBox box i
  • 提供 cin 输入的默认值

    我的应用程序使用读取用户输入std cin溪流 在一个地方 我想提供默认输入并让用户按原样接受它 通过按 Enter 键 或在继续之前修改它 通过使用退格键删除旧字符并添加新文本 我知道字符可以直接放入cin rdbuf 但这并不是我想要实
  • window.outerWidth VS $(window).outerWidth()

    我只是好奇两者之间有什么区别window outerWidth and window outerWidth 是 如果有的话 我在谷歌上找不到太多关于这方面的信息 所以我想我会吸引大众 这只是一个一般性问题 而不是一个具体问题 Jquery的
  • 选择不包含某些特定类的 :first-child 或 :last-child

    假设我们有一个包含 5 个项目的列表 并且我们想要应用一些具体款式到第一个或最后一个孩子 但是这个列表的功能需要通过 jQuery 应用一个类 我们称之为 hide 这将设置一个display none 关于目标项目 The 具体款式我一开
  • 从使用 dlopen 加载的共享库引用全局符号

    我有一个共享库 我想从主程序访问符号 例如 main c include
  • 如何删除

    标签顶部的空间/将包含的文本与容器顶部对齐?

    这无疑是一个愚蠢的问题 但我今天过得很糟糕 这让我很困惑 如果您查看http jsfiddle net E6kGP 1 然后您可以看到两个相邻的简单 div 每个 div 都包含一个 p 标签 每个标签具有不同的字体大小和匹配的行高 p 容
  • org.apache.hadoop.mapreduce.counters.LimitExceededException:计数器太多:121 max=120

    我正在运行一个 hadoop 作业 来自 oozie 它有很少的计数器和多输出 我收到如下错误 org apache hadoop mapreduce counters LimitExceededException 计数器太多 121 ma
  • 网络服务器的实现[关闭]

    Closed 此问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 目前不接受答案 我想用纯 Java 实现我自己的网络服务器 Web 服务器应该仅支持静态资源 即 html js css 图片 电影等 您能推荐一个关于如何实现这样