2023年11月28日发(作者:)

tomcat是不能直接跑asp的,解决方案:

整合IISTomcat(同时支持ASPjsp

花了很久时间,终于搞定了IIS6Tomcat的整合。现在把步骤贴出来给各位

一点参考,也免去了新手在Google上暴走和一次次的调试。开始吧!

首先先说明我的系统,Windows 2003 Server中文版+IIS6+Tomcat5.0.14

JDK 1.4.2安装目录为C:JDK,Tomcat安装目录为C:Tomcat,环境变量

JAVA_HOMETOMCAT_HOME都已设置好并指向其各自的安装目录。(注意,

接下来所有文件中涉及到tomcat路径的请自行修改为自己的Tomcat路径)

Tomcat5IIS6的安装我就不说了,网上的文档很多,假定此时我们已经安

装好了Tomcat5IIS6并都能独立运行,两者的默认网站均指向C:web目录。

现在我们要做的是到

/dist/jakarta/tomcat-connectors/jk2/binaries/win32/

去下载JK2,JK2负责IIS

Tomcat的通讯,解开后得到isapi_我把它放在了C:tomcatiis

(目录随便)。

接下来在Tomcat安装目录下的conf目录下建一个ties文件,

把下面这段东东拷进去保存。注意file=".."之中的路径要用"/"哦!

[shm]

file=c:/Tomcat/logs/

size=1048576

# 实际运用时把所有的localhost8009换成你自己的IP和端口

[:localhost:8009]

port=8009

host=localhost

# define the worker

[ajp13:localhost:8009]

channel=:localhost:8009

# Uri mapping

[uri:/*.jsp]

[uri:/web/*]

worker=ajp13:localhost:8009

# define the worker

[status:status]

# Uri mapping

[uri:/jkstatus/*]

worker=status:status

之后编辑ties文件,确认其中是否有此一句:

Authentication=false

接下来开始编辑注册表,直接建一个文件,把下面一段拷进去保存然

后双击把信息导入注册表。(注意,把涉及的Tomcat路径改成你的Tomcat

的路径)

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINESOFTWAREApache Software

FoundationJakarta Isapi Redirector2.0]

"serverRoot"="c:Tomcat"

"extensionUri"="/jakarta/isapi_"

"workersFile"="c:ties"

"logLevel"="INFO"

然后打开我的电脑->控制面板->管理工具->Internet信息服务管理器

里面选择网站中的默认网站(默认网站我假定指向C:web),在其上点右键选

属性,在弹出的页框里选择“ISAPI筛选器,点添加,筛选器名称填jakarta,

可执行文件中填入你的isapi_的绝对路径。确定后点确定关闭

属性页。再在默认网站上右键,选择新建>“虚拟目录,别名填jakarta,下

一步,路径选为你的isapi_存放的目录,我的是C:tomcatiis,下

一步,权限中记得把执行那项打勾,好了,完成。

如果你用的是IIS5的话,到这里就可以结束了,但IIS6还没完,继续。

Internet信息服务管理器网站中的“Web服务扩展上点右键选择添加

一个新的Web服务扩展,弹出的框中扩展名填Tomcat(其实无所谓的)要求

的文件添加然后找到你的isapi_确定设置扩展状态为

允许也打上勾,确定。

好了,配置完了。现在我们启动Tomcat5,然后net start w3svc启动IIS6

键入localhost:8080/(这个文件是我放在c:web下的)看看!然后在

看看localhost/,如果两者执行结果一样,恭喜你,整合成功了!

但或许此时还不行,这时你该确认以下几点:

1.你的“Internet信息服务管理器->“网站->“默认网站->“属性->“ISAPI筛选

中的jakarta是否是向上的绿色箭头?如果是红色的,检查一下你之前做的配

置有没有少了或是写错了点什么,再重新配置一遍

2.确认你的Tomcat安装目录下的commonlib目录中是否有文件

Tomcat5好像是有的,Tomcat4中是没有的,网上的文档很少提到这件事,

致使我多次配置失败),没有的话从JDKlib下拷一个过去。

指向的目录最好和Tomcat指向的目录一致,不然会发生找不到图像和

其他资源文件的问题。(这点不影响执行,呵呵!)

4.英文文档中还提到应该把IIS6设置为IIS5隔离模式,“Internet信息服务管

理器->“网站->“属性->“服务,把IIS5.0隔离模式运行WWW服务打上勾。

不过我不打勾也能正常使用,如果你配置不成功也可以试试这个。

回答人的补充 2009-11-12 19:45

我以你的ASP文件在d:webrootservives为例,如果没有这个文件夹就手动创

建个

1我的电脑-》管理-》本地和用户组-》用户-》在右边空白处点击鼠标右键-

新用户-输入用户名[全名][描述]和密码、确认密码-将用户下次登录时须更

改的密码前面的√去掉,然后将用户不能更改密码及密码永不过期前面打上√-

创建-》关闭[需记住刚刚创建的用户名和密码]

2、打开D:webroot找到services 文件夹 -》属性-》安全-》添加-》将刚才

新建的用户名添加至此文件夹的用户列表中,然后给这个用户对 services文件

夹以读写权限-》确定退出

3开始-程序-管理工具-Internet 信息服务器(IIS)管理器-右键点击[

]-》新建-》网站-》打开网站创建向导-》下一步-》输入描述[即站点名称]-

网站IP地址使用[全部分配]、端口使用80、此网站主机头[

建站点使用的域名]-下一步-路径[D:webrootservices]-下一步-完成

4右键点击刚才新建的网站选择-属性-目录安全性-身份证与访问控制的

编辑-》启用匿名访问前面的√打上-》用户名及密码[输入刚才新建的用户名与

密码]-》确定-》确定退出

5、将 你的ASP 放在D:webrootservices中即可,如果以上步骤没有问题即

可成功访问

IIS中选择刚才新建的网站-》浏览 即可查看

在浏览器中输入:域名即可查看

注:

步骤1为添加来宾帐户[匿名帐户]。如果您的电脑中已有来宾帐户[匿名帐户]

只需在步骤24中进行同样操作即可。

IIS 选择刚才新建的网站鼠标右键点击-》属性- [版本,必

须保证在2.02.0以上],如果是ASP的程序,那么.net的类库无需安装,使

用系统默认即可

这是我曾经写的文档 你参考下呢

-----------------------------------------------------------------------------------------------------

Windows2003下完美配置整合IIS 6+JDK 1.6+Tomcat 6.0.16

一、下载所需要的文件

1JRE 1.6下载地址(若要给服务器配置纯JSP运行环境则下载这个,若要做

开发则下载第二个所述的JDK):

/is-bin/ty/WFS/CDS-CDS_Developer-Si

te/en_US/-/USD/VerifyItem-Start/?Bund

ledLineItemUUID=AEaE_tKwKGt&OrderID=AEaAftK

wKGt&ProductID=AEaTMMke24m&FileName=/jre-6u10-beta-windo

2JDK 1.6下载地址(内含JRE1.6要做java程序开发的程序员则下载这个)

/is-bin/ty/WFS/CDS-CDS_Developer-Si

te/en_US/-/USD/VerifyItem-Start/?Bund

ledLineItemUUID=AEa6nVKwKGv&OrderID=Q1hIBe.n_ggAAAEa23VK

wKGv&ProductID=AEac84Gcm4w&FileName=/jdk-6u10-beta-windo

3Tomcat 6下载地址(java应用服务器软件,必须下载):

/tomcat/tomcat-6/v6.0.16/bin/apache-

4JK-1.2.26下载地址(即下文所述的isapi_,是整合IIS 6

Tomcat 6的应用程序扩展接管文件):

/tomcat/tomcat-connectors/jk/binaries/win32/j

k-1.2.26/isapi_

二、安装JDK/JRETomcat

1、首先运行刚才下载的JRE1.6(只作服务器则安装这个)或JDK1.6(做java

程序开发则安装这个)文件,安装过程很简单,根据向导选好安装路径,一路点

击下一步即可。这里假设JRE的安装路径是:C:Program FilesJavajre6JDK

的安装路径是:C:Program FilesJavajdk1.6.0_10

2如果安装的是JRE1.6可以跳过这一步,如果安装的是JDK1.6则要添加如

环境变量的系统变量(具体设置地方位于“我的电脑-属性-高级-环境变量-

系统变量”):

JAVA_HOMEC:Program FilesJavajdk1.6.0_10

classpath.;%JAVA_HOME%;%JAVA_HOME%;.;一定

不能少,因为它代表当前路径)

path%JAVA_HOME%bin (这个用分号隔开,补充在原来已有的字符串后面)

接着可以用记事本写一个简单的java程序来测试JDK是否已安装成功:

public class Test{

public static void main(String args[]){

n("This is a test program.");

}

}

将上面的这段程序保存为文件名为的文件(注意大小写要与程序的类

名称一致)。

然后打开命令提示符窗口,cd到你的所在目录,然后键入下面的命

javac

java Test

此时如果看到打印出来This is a test program.的话说明安装成功了,如果没

有打印出这句话,你需要仔细检查一下你的配置情况。

3接着运行刚才下载的Tomcat安装文件:在安装

过程中,会提示你选择JVM目录,一般情况下,默认选择的路径都是对的,例如,

如果你刚才安装的是JRE,路径是“C:Program FilesJavajre6”,如果安装

的是JDK,路径则是“C:Program FilesJavajdk1.6.0_10jre”,另外还有

个安装部件的勾选,建议核心部分的三个选项都选上,特别是service部分,

个可以让tomcat作为windows服务来运行。

安装完Tomcat后,在我的电脑->属性->高级->环境变量->系统变量中添加以下

环境变量(假定你的tomcat安装在C:Program FilesApache Software

FoundationTomcat 6.0):

CATALINA_HOMEC:Program FilesApache Software FoundationTomcat 6.0

CATALINA_BASEC:Program FilesApache Software FoundationTomcat 6.0

TOMCAT_HOMEC:Program FilesApache Software FoundationTomcat 6.0

然后修改环境变量中的classpath,把tomat安装目录下的commonlib下的

追加到classpath中去。

如果安装的是JDK,修改后的classpath如下:

classpath=.;%JAVA_HOME%;%JAVA_HOME%;%CATALIN

A_HOME%;

如果安装的是JRE,修改后的classpath如下:

classpath=.;%CATALINA_HOME%;

接着可以启动tomcat,在IE中访问localhost:8080,如果看到tomcat

的欢迎页面的话说明安装成功了。

三、检测直接用Tomcat平台运行JSPServlet程序是否成功

1、检测JSP

A.Tomcat的安装目录的webapps目录,可以看到ROOTexamples, tomcat-docs

之类Tomcat自带的的目录;

B.webapps目录下新建一个目录,起名叫myapp

下新建一个目录WEB-INF,注意,目录名称是区分大小写的;

-INF下新建一个文件,内容如下:

My Web Application

A application for test.

E.myapp下新建一个测试的jsp页面,文件名为,文件内容如下:

Now time is: <%=new ()%>

F.重启Tomcat(运行Tomcat后,在任务栏的托盘里有个带绿色向右方向小箭头

的图标,那个就是Tomcat服务的图标,重启方法就是右键点击出菜单,先Stop

服务,再start服务)

G.打开浏览器,输入localhost:8080/myapp/ (注意网址大

小写要与文件夹名以及文件名都一致)看到当前时间的话说明就成功了。

2、检测Servlet

A.用记事本以文件名编辑你的第一个Servlet

import .*;

import t.*;

import .*;

public class HelloWorld extends HttpServlet

{

public void doGet(HttpServletRequest request,HttpServletResponse

response)throws ServletException,IOException

{

tentType("text/html");

PrintWriter out = ter();

n(""); </span><p><p style='text-indent:30px;top:154.563;left:153.179;'><span style='font-size:18px;color:#000000;letter-spacing:0.011px;font-family:宋体;'>n("This is my first Servlet"); </span><p><p style='text-indent:30px;top:199.593;left:247.799;'><span style='font-size:18px;color:#000000;letter-spacing:0.011px;font-family:宋体;'>n("");

n("

Hello,World!

");

n("");

}

}

B.然后照样用javac 来编译这个文件,如果出现编译错误,那

么就是应该把Tomcat安装目录下的commonlib里面的文件拷贝到

JDK安装目录下的jrelibext中,再次编译,就没有问题了!

C.在你刚才建立的myapp文件夹中,进入WEB-INF文件夹内,再建一个classes

文件夹,并将刚才编译生成的文件放进classes文件夹里。

D.用记事本打开WEB-INF文件夹下的web.xml文件,修改成如下并保存:

My Web Application

A application for test.

HelloWorld

HelloWorld

HelloWorld

/HelloWorld

E.重启Tomcat服务

F.在浏览器输入localhost:8080/servlet/HelloWorld 如果页面出现

大号字的Hello,World!,表示Servlet也运行成功了。

四、用JK整合IIS 6Tomcat 6

1、首先在Tomcat安装目录的conf文件夹下,用记事本建立这两个文件:

tiesties

ties文件的内容是:

_home=D:Program FilesApache Software FoundationTomcat

6.0

_home=D:Program FilesJavajdk1.6.0_10 (如果安装的是JRE

则去掉这行)

ps=

=ajp13

=8009

=localhost

=ajp13

or=1

ties文件的内容是:

/*.jsp=ajp13

/*.do=ajp13

!/*.jpg=ajp13

!/*.gif=ajp13

!/*.bmp=ajp13

2、用记事本建立一个扩展名reg的注册表导入文件,文件名随意,我命名的

isapi_,假设Tomcat安装目录是“C:Program FilesApache

Software FoundationTomcat 6.0”,JK文件名为“isapi_”,

reg文件内容如下(Tomcat安装目录与JK文件名不同的请对应修改内容):

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINESOFTWAREApache Software FoundationJakarta Isapi

Redirector1.0]

"log_file"="C:Program FilesApache Software FoundationTomcat

"

"log_level"="debug"

"worker_file"="C:Program FilesApache Software FoundationTomcat

ties"

"worker_mount_file"="C:Program FilesApache Software

FoundationTomcat ties"

"extension_uri"="/jakarta/isapi_"

然后双击运行isapi_文件,将注册资料导入注册表,显示导入成

功后,再打开注册表检查HKEY_LOCAL_MACHINESOFTWAREApache Software

FoundationJakarta Isapi Redirector1.0中对应的项目与其值是否都有都对

了:

extension_uri /jakarta/isapi_ (jakartaIIS下的虚拟目录)

log_file C:Program FilesApache Software FoundationTomcat

(指定JK插件使用的日志文件)

log_level debug (指定日志记录类型)

worker_file C:Program FilesApache Software FoundationTomcat

ties (指定JK插件的工作文件)

worker_mount_file C:Program FilesApache Software FoundationTomcat

ties (指定JK插件的URL映射)

如果没有上述项,则建立相关项和相关值。

3、配置IIS

A.在“Internet信息服务管理器”的“网站”中的“Web服务扩展”上点右键

选择“添加一个新的Web服务扩展”,弹出的框中扩展名填JSP(无所谓的,自己

随便设置名称),“要求的文件”选“添加”然后找到你的

isapi_后“确定”,“设置扩展状态为允许”也打上勾,确定。

B.在“Internet信息服务管理器”的“默认网站”点右键选“属性”,在弹出

的页框里选择“ISAPI筛选器”,点“添加”,筛选器名称填jakarta,可执行文

中填入你的isapi_的绝对路径,然后点“确定”。

C.同样是在默认站点的属性窗口里,切换到“主目录”界面,将目录路径改为上

面“检测JSP”步骤建立的myapp文件夹路径,点击“应用程序设置”区域的

“配置”按钮,打开配置窗口,在应用程序扩展点击添加,可执行文件浏览找到

你的isapi_redirector.dll文件,并将文件路径前后用英文双引号括起来,扩

展名填“.jsp”,动作限制为“GET,HEAD,POST,DEBUG”(添加这个应用程序扩

展的作用是为了实现在默认文档里添加jsp文件名时,IIS自动识别,否则,

即使在默认文档里添加了之类的名称,网址不写具体文件名的话,

不能默认执行指定的jsp文件),然后一路点击确定,关闭属性页。

D.再在“默认网站”上点右键,选择“新建”->“虚拟目录”,别名填

jakarta,下一步,路径选为你的isapi_存放的目录,下一步,

权限中记得把“执行”那项打勾,完成后,再右键点击这个刚建好的虚拟目录,

选“属性”,在属性窗口的“虚拟目录”界面上,将“执行权限”改为“脚本和

可执行文件”,然后应用确定。

E.用记事本打开Tomcant安装目录conf文件夹下的文件,假设你的

myapp路径是“C:Program FilesApache Software FoundationTomcat

6.0webappsmyapp”,在文件的标签前面加上一行:

这行的作用是更改Tomcat的默认站点主目录

F.重启Tomcat服务。

至此,IIS 6Tomcat 6的整合就完成了,下面访问localhost/

看看,显示的结果与localhost:8080/是否一致?如果一致的

话,恭喜你,你成功了!如果你还在默认站点属性窗口的默认站点里添加了

,那么你直接访问localhost,一样能显示同样的结果!

五、快速添加第二个JSP虚拟站点

1在“Internet信息服务管理器”新建一个虚拟站点,主机头添加上你的域名,

假设有两个域名:“" 与“”。

2、在这个新建的虚拟站点上,重复“四”的BCD步骤,所不同的是填写的

主目录路径不同,这里的路径可以填写你真正JSP站点文件夹所在的目录,这个

文件夹可以放在任何一个盘的任何一个目录,这里假设是

“C:WebSiteMyJSP”。

3、用记事本打开Tomcat安装目录下的,在标签前面加上

下面的内容(每在IIS增加一个JSP虚拟站点,都要对应地在加上

下面的内容)后保存:

unpackWARs="true" autoDeploy="true"

xmlValidation="false" xmlNamespaceAware="false">

workDir="C:WebSiteMyJSPwork" />

4、重启Tomcat

至此,一个新的JSP虚拟站点就完成部署了,只要所绑定的域名解析到了所在的

服务器,直接用该域名就能访问执行JSP文件,不需要通过8080端口了。

至于Servlet的执行,IIS下面,目前需要通过将定义Servletxml文件里

对应的Servlet程序名url定义加上.jsp映射为JSP文件名,才能正确直接访

问执行,运行效果是与Servlet一样的,用上面所建的Servlet为例,假设

Servlet名称为HelloWorld具体实现方法就是将WEB-INF文件夹下的

文件的“-pattern>/HelloWorldpattern>”修改为

-pattern>/pattern>”,整个修改后的内

容如下:

My Web Application

A application for test.