2023年11月28日发(作者:)
tomcat是不能直接跑asp的,解决方案:
整合IIS和Tomcat(同时支持ASP和jsp)
花了很久时间,终于搞定了IIS6和Tomcat的整合。现在把步骤贴出来给各位
一点参考,也免去了新手在Google上暴走和一次次的调试。开始吧!
首先先说明我的系统,Windows 2003 Server中文版+IIS6+Tomcat5.0.14,
JDK 1.4.2安装目录为C:JDK,Tomcat安装目录为C:Tomcat,环境变量
JAVA_HOME和TOMCAT_HOME都已设置好并指向其各自的安装目录。(注意,
接下来所有文件中涉及到tomcat路径的请自行修改为自己的Tomcat路径)
Tomcat5和IIS6的安装我就不说了,网上的文档很多,假定此时我们已经安
装好了Tomcat5和IIS6并都能独立运行,两者的默认网站均指向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
# 实际运用时把所有的localhost和8009换成你自己的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中是没有的,网上的文档很少提到这件事,
致使我多次配置失败),没有的话从JDK的lib下拷一个过去。
指向的目录最好和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为添加来宾帐户[匿名帐户]。如果您的电脑中已有来宾帐户[匿名帐户],
只需在步骤2和4中进行同样操作即可。
IIS 选择刚才新建的网站鼠标右键点击-》属性-》 [版本,必
须保证在2.0或2.0以上],如果是ASP的程序,那么.net的类库无需安装,使
用系统默认即可
这是我曾经写的文档 你参考下呢
-----------------------------------------------------------------------------------------------------
Windows2003下完美配置整合IIS 6+JDK 1.6+Tomcat 6.0.16
一、下载所需要的文件
1、JRE 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
2、JDK 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
3、Tomcat 6下载地址(java应用服务器软件,必须下载):
/tomcat/tomcat-6/v6.0.16/bin/apache-
4、JK-1.2.26下载地址(即下文所述的isapi_,是整合IIS 6与
Tomcat 6的应用程序扩展接管文件):
/tomcat/tomcat-connectors/jk/binaries/win32/j
k-1.2.26/isapi_
二、安装JDK/JRE和Tomcat
1、首先运行刚才下载的JRE1.6(只作服务器则安装这个)或JDK1.6(做java
程序开发则安装这个)文件,安装过程很简单,根据向导选好安装路径,一路点
击下一步即可。这里假设JRE的安装路径是:C:Program FilesJavajre6;JDK
的安装路径是:C:Program FilesJavajdk1.6.0_10
2、如果安装的是JRE1.6,可以跳过这一步,如果安装的是JDK1.6,则要添加如
下环境变量的系统变量(具体设置地方位于“我的电脑-属性-高级-环境变量-
系统变量”):
JAVA_HOME:C: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_HOME:C:Program FilesApache Software FoundationTomcat 6.0
CATALINA_BASE:C:Program FilesApache Software FoundationTomcat 6.0
TOMCAT_HOME:C: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平台运行JSP与Servlet程序是否成功
1、检测JSP
A.到Tomcat的安装目录的webapps目录,可以看到ROOT,examples, tomcat-docs
之类Tomcat自带的的目录;
B.在webapps目录下新建一个目录,起名叫myapp;
下新建一个目录WEB-INF,注意,目录名称是区分大小写的;
-INF下新建一个文件,内容如下:
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("
n("This is my first Servlet");
n("");
n("Hello,World!
");
n("");
}
}
B.然后照样用javac 来编译这个文件,如果出现编译错误,那
么就是应该把Tomcat安装目录下的commonlib里面的文件拷贝到
JDK安装目录下的jrelibext中,再次编译,就没有问题了!
C.在你刚才建立的myapp文件夹中,进入WEB-INF文件夹内,再建一个classes
文件夹,并将刚才编译生成的文件放进classes文件夹里。
D.用记事本打开WEB-INF文件夹下的web.xml文件,修改成如下并保存:
A application for test.
E.重启Tomcat服务
F.在浏览器输入localhost:8080/servlet/HelloWorld ,如果页面出现
大号字的Hello,World!,表示Servlet也运行成功了。
四、用JK整合IIS 6与Tomcat 6
1、首先在Tomcat安装目录的conf文件夹下,用记事本建立这两个文件:
ties与ties
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_ (jakarta为IIS下的虚拟目录)
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 6与Tomcat 6的整合就完成了,下面访问localhost/
看看,显示的结果与localhost:8080/是否一致?如果一致的
话,恭喜你,你成功了!如果你还在默认站点属性窗口的默认站点里添加了
,那么你直接访问localhost,一样能显示同样的结果!
五、快速添加第二个JSP虚拟站点
1、在“Internet信息服务管理器”新建一个虚拟站点,主机头添加上你的域名,
假设有两个域名:“" 与“”。
2、在这个新建的虚拟站点上,重复“四”的B、C、D步骤,所不同的是填写的
主目录路径不同,这里的路径可以填写你真正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下面,目前需要通过将定义Servlet的xml文件里
对应的Servlet程序名url定义加上.jsp,映射为JSP文件名,才能正确直接访
问执行,运行效果是与Servlet一样的,用上面所建的Servlet为例,假设
Servlet名称为HelloWorld,具体实现方法就是将WEB-INF文件夹下的
文件的“ “ 容如下: A application for test.


发布评论