我试图在不使用servlet的情况下直接将OutputStream
或字节数组写入浏览器。
是否有任何Java API可以做到这一点?
答案 0 :(得分:3)
使用ServerSocket
(http://docs.oracle.com/javase/1.4.2/docs/api/java/net/ServerSocket.html)收听端口80.
如果请求进入accept()
,请使用生成的Socket
getInputStream()
和getOutputStream()
方法来抓取流对象以处理数据传输。< / p>
然后只需解析InputStream
上的请求,并通过OutputStream
发送回复(包括HTTP标题!!! )。然后,关闭连接,你就完成了。
如果您需要编写一个可以实际处理多个并发请求而不会影响性能的服务器,那么您一定要查看Java的NIO框架。如果可扩展性能存在问题,不每个连接使用一个线程。