web服务的骨架也是一个socket,和多线程的结构。关于 其中jsp翻译到servlet等东东都是在这个骨架上添加的东东。我尤其关心它那块处理http摘要认证,保持http请求头的keepalive选项,以及处理每个连接上的maxrequest这个限制的细节问题。
因为我觉得这几个方面的细节和我现在所做的工作很有关系。所以我需要学习。可是我水平太差,要我一下去从tomcat的源码挑出和以上几个方面紧密相关的部分实在太难了。
所以,希望仔细琢磨过tomcat源码的兄弟指点一下,给我指明一下几个关键的部分!
谢谢

解决方案 »

  1.   

    刚才找来TOMCAT3.3源码看了看,没去看TOMCAT5.它代码量不少,不过结构还是相当清晰,应该从这儿下手读比较容易些.\src\share\org\apache\tomcat\modules\server要点:
    Http10Interceptor 继承自 PoolTcpConnector
    Http10Interceptor 里用了Http10
      

  2.   

    顶一下,尤其关心它实现maxkeepalive等等参数的具体细节
      

  3.   

    cvs -d :pserver:[email protected]:/home/cvspublic 
      

  4.   

    哦..如果你看的是TOMCAT5,可以看到那代码同TOMCAT3区别很大..
    TOMCAT5使用的SOCKET通讯部分,也就主要是org.apache.coyote部分..
    要读它,可以从ServerSocketFactory.java入手..
    它在
    \apache-tomcat-5.5.15-src\apache-tomcat-5.5.15-src\connectors\util\java\org\apache\tomcat\util\netTOMCAT5里有两种具体的ServerSocketFactory,
    CoyoteServerSocketFactory.java

    DefaultServerSocketFactory.java可以从它们顺藤摸瓜的找你想要看的东西.
      

  5.   

    下了一个apache-tomcat-5.5.15-src.zip
    找到了CoyoteServerSocketFactory.java

    DefaultServerSocketFactory.java可是发现这两个文件非常的短,都只包括了几个get,set函数。不知我是否下错了。
      

  6.   

    下载下来之后,把它们放在jbuilder里面好像很不好组织。它们的路径和文件夹分布,好像和包名称都不能对应。
      

  7.   

    coyote connector在tomcat中到底是怎样的一个部分呢?
    整个zip文件解开后是5个目录,分为connector,container,jasper,servletapi,似乎是对应socket通讯,容器,jsp解释器,servlet这几个大的部分。
      

  8.   

    呵,我看的时候,也是一时仓促,不过一般分析SOCKET服务器程序构架要点也就在那种类附近..\apache-tomcat-5.5.15-src\connectors\util\java\org\apache\tomcat\util\net
    这目录里面是实现了通用的一个SOCKET服务.
    PoolTcpEndpoint.java起头,然后它里面创建线程池,调用了具体的SOCKET服务工厂,然后分派处理...