java - 创建网络服务器 - 处理传入的 http 请求

标签 java http servlets

我正在尝试用 Java 编写一个 Web 服务器(这是我第一次如此简单的 Web 服务器)。我不确定如何处理 http get 和 post 请求。

现在我所拥有的只是一个带有服务器套接字的循环,连接除外,并使用 BufferedReader 接收传入消息(作为文本)。

我知道你可以扩展一个 Servlet 类并利用

  • protected void doGet(HttpServletRequest servlet_request, HttpServletResponse servlet_response), 和
  • protected void doPost(HttpServletRequest servlet_request, HttpServletResponse servlet_response)

但我不知道如何将来自套接字的原始传入消息转换/提取为 doGet() 和 doPost() 所需的参数。

有人能给出一个基本的例子和/或解释该怎么做吗?

非常感谢

另外,事后想想,扩展 Web 服务器以处理 JSP 页面是否简单?

非常感谢任何帮助。

最佳答案

为此,您首先需要了解 http 数据包格式。 this link会有帮助

一旦知道数据包的格式,就可以提取方法 (GET/POST/...) 和其他所需的信息以继续。

关于java - 创建网络服务器 - 处理传入的 http 请求,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15674757/

相关文章:

java - 如何在JSP中为mySQL自动生成唯一ID

java - Java中的URL解码日语字符等

java - android 使用总是发布请求而不是获取

php - Web 服务器何时清除 PHP session 标识符?

java - Servlet中的Id解析错误

java - 声明变量的最佳方法是什么?按照下面的例子?

angularjs - 如何全局配置 Laravel 的 Route::resource 以与 ng.resource(每个 ng 资源的 Laravel 路由)兼容?

Java OpenGL 三角形未显示

java - 任意 JRE 上的 "java.lang.InternalError: HTHEME is null"(Windows)

java - 错误 : com. google.common.cache.CacheBuilder.from(Lcom/google/common/cache/CacheBuilderSpec;)Lcom/google/common/cache/CacheBuilder;