如何用JavaSE写一个简易的HTTP服务器

zbc12369 2012-02-28 07:40:11
请教如何用JavaSE写一个简易的HTTP服务器。如果要支持JSP,ASP或者PHP又需要如何改进?如果不能,请问其他语言可以实现否?
我是这样思考的,要自己写几个解析JSP,ASP,PHP的编译器不现实,所以我做的这个服务器当监听到动态网页请求时,把请求转发给IIS(如果请求是ASP的话),同理,如果是JSP就转发给TOMCAT,PHP就转发给Apache,然后再接收以上服务器解析之后返回的静态内容返回给客户端浏览器。那么这个转发功能用java要怎么实现呢?如果实现不了,其他语言可以否?
...全文
53 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
allan0527 2012-03-05
  • 打赏
  • 举报
回复
规则的url可以反映出一部分请求的类型。因为有很多基于SEO优化的URL重写功能,会将URL的内容重写掉。还有JAVA中后台地址通常用.do为后缀,或者struts框架默认后台地址后缀是.action。。。这些URL命名规则是开发过程中可变的。
还有图片,css,js等资源的请求地址,是无法区别后台是那种技术实现的。

最后,我想问下此功能应用场景是?
zbc12369 2012-02-29
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 allan0527 的回复:]

对于HTTP服务器来说,接收请求的都是HTTP请求,包含header,body信息等等。
JSP,ASP或者PHP只是服务器端技术对HTTP请求不同的封装(比如JSP封装成HttpServletRequest)。
所以不管服务端是什么技术,入口的信息是一样的。

HTML请求 -》 服务端 -》HTTP响应

对于服务端来说,接收HTTP请求,返回HTTP响应。输入输出是一样的,只是……
[/Quote]
我可以根据url后缀名判断啊不是吗?
allan0527 2012-02-29
  • 打赏
  • 举报
回复
对于HTTP服务器来说,接收请求的都是HTTP请求,包含header,body信息等等。
JSP,ASP或者PHP只是服务器端技术对HTTP请求不同的封装(比如JSP封装成HttpServletRequest)。
所以不管服务端是什么技术,入口的信息是一样的。

HTML请求 -》 服务端 -》HTTP响应

对于服务端来说,接收HTTP请求,返回HTTP响应。输入输出是一样的,只是不同技术处理罢了。

所以你写的这个功能,无法判断HTTP请求是ASP,JSP或是PHT。。。

50,535

社区成员

发帖
与我相关
我的任务
社区描述
Java相关技术讨论
javaspring bootspring cloud 技术论坛(原bbs)
社区管理员
  • Java相关社区
  • 小虚竹
  • 谙忆
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧