本帖最后由 zbh87538316 于 2011-12-22 08:48:43 编辑

解决方案 »

  1.   

    解决了,我把JDK从1.4换到了1.6OK了
      

  2.   

    整合步骤:
    安装JDK->d:\Java,Tomcat->D:\Tomcat 6.0,jk->D:\Tomcat 6.0\bin\jakarta如果jk采用安装方式,则省去1-3步。 1,为IIS写注册表
    jk.reg 文件
    Windows Registry Editor Version 5.00
    [HKEY_LOCAL_MACHINE\SOFTWARE\Apache Software Foundation]
    [HKEY_LOCAL_MACHINE\SOFTWARE\Apache Software Foundation\Jakarta Isapi Redirector]
    [HKEY_LOCAL_MACHINE\SOFTWARE\Apache Software Foundation\Jakarta Isapi Redirector\1.0]
    “extension_uri”=”/jakarta/isapi_redirect.dll”
    “worker_file”=”D:\\Tomcat 6.0\\conf\\workers.properties”
    “worker_mount_file”=”D:\\Tomcat 6.0\\conf\\uriworkermap.properties”
    “log_file”=”D:\\Tomcat 6.0\\logs\\isapi.log”
    “log_level”=”debug”其中这两项
    “worker_file”=”D:\\Tomcat 6.0\\conf\\workers.properties”
    “worker_mount_file”=”D:\\Tomcat 6.0\\conf\\uriworkermap.properties”
    为关键,其中的文件更为关键,内容和格式都很重要,也是为什么用exe安装会好一些的原因,那样的话就不用考虑这些了。
    =================================================================================
        2,建立配置文件
            按照注册表里所写的,在D:\Tomcat 6.0\conf目录下建立两个配置文件,workers.properties和uriworkermap.properties其内容分别为:
    workers.properties的内容:
    ===============================================================================
    worker.list=wlb
    worker.wlb.type=wlb
    worker.wlb.host=localhost    //这里网上有说要改成主机域名地址,其实根本没必要,想想也是,如果主机很多的话,那怎么办?
    worker.wlb.port=8009
    ========================================================================
    uriworkermap.properties的内容:
    =========================================================================
    /*.jsp=wlb
    /*.do=wlb
    ==========================================================================
        3,为jk建立物理目录
    下载isapi_redirect.dll文件。在 D:\Tomcat 6.0\bin目录下建立新目录jakarta,将isapi_redirect.dll复制到里面。
        4,建立新网站
    打开IIS管理器,在左侧网站一栏新建网站:www.test.cn,其目录指向上面提到过的空目录H:\Inetpub\www.test.cn\ROOT,让网站有执行(如ISAPI应用程序或CGI)的权限。
    同时,在tomcat中也要建立相同的站点,修改conf/server.xml,添加:
    <Host name=”www.test.net“  appBase=”H:\Inetpub\www.test.cn” unpackWARs=”true” autoDeploy=”true” xmlValidation=”false” xmlNamespaceAware=”false”>
     <Valve className=”org.apache.catalina.valves.AccessLogValve” directory=”logs”  prefix=”localhost_access_log.” suffix=”.txt” pattern=”common” resolveHosts=”false”/>
     </Host>
    注意站点目录与IIS中是不同的,这个会默认在ROOT中。
        5,设置筛选器
    在IIS管理器左侧网站下面选中新建的网站www.test.cn,右键选择属性,在ISAPI筛选器标签页添加筛选器,名字为jakarta,路径为isapi_redirect.dll的路径名,即D:\Tomcat 6.0\bin\jakarta\isapi_redirect.dll。如果成功重新进入属性页,则该新建的筛选器会有一个绿色向上箭头,优先级为高,这说明jk模块加载成功。//走到此处
    注:此步很容易不成功,原因是权限问题,需设置D:\Tomcat 6.0\bin目录及D:\Tomcat 6.0\conf    添加IIS和IUSR这两个用户可读取权限,再重新加载,即可成功。
    加程序扩展,新加.jsp的程序扩展,添加时提示路径有空格,需要把头尾加上“”就可以了。
        6,为jk建立虚拟目录
    选中网站www.test.cn,新建虚拟目录,别名为jakarta,路径为D:\Tomcat 6.0\bin\jakarta,(注安装版的jk会将dll文件放在这下面的bin中,等于深了一层,copy出来即可),使其有执行(如ISAPI应用程序或CGI)的权限。    添加IIS和IUSR这两个用户可读取权限。
        7,新建应用程序扩展
    在IIS管理器左侧网站下面选中Web服务扩展,添加一个新的Web服务扩展,扩展名为jakarta,添加要求得文件为D:\Tomcat 6.0\bin\jakart\isapi_redirect.dll,并设置扩展状态为允许。
        8,测试
         打开Tomcat服务器,修改c:\WINDOWS\system32\drivers\etc\hosts文件,让www.test.cn的域名指向127.0.0.1,打开IE,输入http://www.test.cn/hello.jsp,回车,如果出现测试页面,那说明你配置已经成功。注意的问题:
        1,注意你的两个配置文件workers.properties和uriworkermap.properties和注册表的新添加的内容,如用exe安装版jk,则不用担心这个了。
        2,要注意IIS要对这个jakarta目录有足够的权限.如果你的筛选器添加失败很有可能是权限的原因.
        3,这里有可能出现ISAPI筛选器不能加载的问题,状态一栏是红色箭头,权限问题。
        4,添加新的Web 服务扩展jakarta之外还要使它允许。另外同样要注意权限的问题,因为涉及到Internet访问,还有就是注意拼写不要写错,比如把jakarta写成了jarkata。
        5,如果你前面都对,只是你输入http://www.test.cn/hello.jsp,没有出现你要的页面.那么还请查看还有你有没有开启 Tomcat,并在Tomcat引擎中是否加载了和IIS相对应的WEB应用?加上8080端口是否能访问,如果能,那估计就是jk的连接出了问题。
     其实正常的话,整个过程是不需要重启iis的。
    总结:
        说到底,这就是两种服务的一种集成,使之外部看起来像一种服务,可以这么理解:
    外部访问域名-->解析后到IP-->IIS查找相应站点-->发现jsp文件-->转至jk连接处理-->将相应文件解释转给Tomcat-->将页面返回给IIS-->展现给客户端。
    那么哪出了问题,就查哪,一步一步来,一定能成功的,希望对大家有所帮助,另外多看官方手册,多想其中的原理,网上流传的各种文档不一定就是正确的,包括本文,只是尽量详尽的给一种引导。