[深入浅出Jetty 02] Jetty 8.x 简单试用

Jetty 8.x 简单试用

运行

安装好了以后,在jetty的主目录下,运行起来。

java -jar start.jar 

如果仔细看的话还有一个start.ini,这是典型的eclipse启动方式。事实上jetty8是按照eclipse的OSGI启动模型来运行的。

远程访问

默认情况下jetty使用8080端口,访问下看看。

http://adyliu-pc:8080 

出现了点问题。启动后居然是jetty7后的描述信息。看来jetty8发布的时候比较粗糙,这些细节都没有处理好。事实上,官方站点上的文章都是和jetty7.x有关的,没有更新到8.x版本。

好在有一行提示说,如果要远程访问的话,需要开启一个设置。好吧,按照说明,将默认test.war的远程访问模式打开。 修改文件$JETTY_HOME/contexts/test.d/override-web.xml中的如下部分

   < filter >
     < filter-name >TestFilter </ filter-name >
     < filter-class >com.acme.TestFilter </ filter-class >
     < init-param >
       < param-name >remote </ param-name >
       < param-value >true </ param-value >
     </ init-param >
   </ filter >


这里已经将默认remote的属性值false改为了true。然后再试试。


显然,这样就已经支持远程访问了。

Servlet访问

test.war模块里面有一个dump的Servlet,它可以查看当前请求的Request/Session/Cookie信息。我们简单看一下Request请求。

这里面的信息非常丰富,这为以后调试当前请求信息提供了很方便的样例。

Comet模型

Jetty8.x里面有两种comet模型,一种是常见的长连接(Long Polling), 另一种就是HTML5支持的WebSocket模型。

我们先来简单看一下Long Polling模型。在这种方式下,浏览器定时发起一个长连接,等待服务器返回。一次请求完了以后仍然会发起一个新的请求,总是有一个连接保持双方的通讯。 下图描述了此效果。

而WebSocket模型显然不是所有浏览器都支持的。高版本的Chrome就支持,比如我的chrome 18.0的开发版本就能很好的支持WebSocket。

有意思的是,这里的请求头和响应头有一些特殊的标识。以后涉及到websocket的时候再来研究。

经测试,我机器上的chrome 18.0,firefox 8.0都支持websocket的,而IE9仍然不支持。



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值