【发布时间】:2013-03-18 11:21:09
【问题描述】:
我正在尝试用 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 服务器,而是使用 Jetty 之类的东西或 Tomcat 之类的 servlet 容器。
-
您好抱歉好问题忘了提及。这是为了我自己的学习目的。基本上在我的课程中,我们展示了如何使用 Jetty,我想知道我是否可以自己制作一个非常简单/基本的实现。
-
在这种情况下,学会爱上 RFC,在这种情况下 RFC 2616 定义了 HTTP 协议:tools.ietf.org/html/rfc2616
-
请检查一下,这可能会有所帮助 [简单 HTTP 服务器][1] [1]:stackoverflow.com/questions/3732109/…