Q : 怎样让IIS支持JSP技术?
主要解答者: smartzhang 提交人: dwei
感谢: l_walker、goodflash、awaysrain、smartzhang
审核者: realyfly 论坛对应贴子: 查看
A :
原有的JSP网页在Tomcat下运行,
现在公司要求全部转到IIS环境中,(愚笨阿)
请问各位英雄好汉,
可以让IIS支持JSP么?
如果可以,应该如何实现?
^_^
---------------------------------------------------------------
CSDN -- JSP(OR JAVA)-- 搜索:IIS+TOMCAT
肯定有你要的;)
---------------------------------------------------------------
IIS WEB以其管理操作简单和对ASP的支持而受不少人的喜欢。这里介绍怎么用resin使IIS支持jsp和servlet。
一、分别安装配置iis和resin1.1使各自都单独能正常运行。iis和resin1.1的安装后路径如下:c:\apache 和 c:\resin1.1。
二、配置IIS
1.拷贝iis_srun.dll 到IIS scripts目录 "c:\inetpub\scripts ";
2.在c:\inetpub\scripts目录下创建配置文件(resin.ini)用于指定resin的配置文件的位置。
resin.ini内容如下:
CauchoConfigFile c:/resin1.1/conf/resin.conf
三、配置resin
<caucho.com >
<http-server app-dir=`C:\Inetpub\wwwroot` >
<servlet-mapping rl-pattern=`/servlets/*` servlet-name=`invoker`/ >
<servlet-mapping rl-pattern=`*.xtp` ervlet-name=`com.caucho.jsp.XtpServlet`/ >
<servlet-mapping rl-pattern=`*.jsp` servlet-name=`com.caucho.jsp.JspServlet`/ >
</http-server >
</caucho.com >
四、测试
1、 运行IIS,启动resin的jsp引擎(运行c:\resin1.1\bin\srun.exe)
2、 把一个jsp文件(test.jsp )放入IIS的C:\Inetpub\wwwroot目录下.
test.jsp如下:
<%@ page language=java? >
2+2= <%=2+2% >
浏览http://localhost:port/test.jsp。你将看到:2+2=4 <??这个结果
注:port为端口号,调试环境nt4.0+iis+resin1.1
---------------------------------------------------------------
本资料的目的在于解释如何将IIS和TOMCAT相连结。 通常IIS是没有办法处理 servlet和jsp,但是通过设置IIS使用 Tomcat redirector plugin 能够将对于jsp,servlet的请求,转交给tomcat servlet 引擎来处理。而达到目的。
前提条件:
IIS-Tomcat redirector在下列环境中经过测试 WinNT4.0-i386 SP4/SP5/SP6a (应该在其他NT ServicePack.也是可以的)
IIS4.0 and PWS4.0
Tomcat3.0 - Tomcat3.1 build of 02/07/2000 (iOffice推荐使用Tomcat3.2.1版本)
The redirector使用ajp12协议来发送请求给Tomcat containers. 你可以在 http://jakarta.apache.org/builds/tomcat/release/v3.1_beta_1/bin/win32/i386/.取得源程序和DLL文件。 The redirector 名称为isapi_redirect.dll.
设定步骤
1. 在命令行状态键入 C: >regedit 启动注册表的管理程序,进行设定。
在注册表中,创建一个项 "HKEY_LOCAL_MACHINE\SOFTWARE\Apache Software Foundation\Jakarta Isapi Redirector\1.0 "
在这个项中追加一个字串值,名称=extension_uri 值=/jakarta/isapi_redirect.dll
在这个项中追加一个字串值,名称=log_file 值=c:\tomcat\logs\isapi.log (根据自己环境作相应的设定)
在这个项中追加一个字串值,名称=log_level 值=error (根据选择 debug/inform/error/emerg)
在这个项中追加一个字串值,名称=worker_file 值=c:\tomcat\conf\workers.properties (根据自己环境作相应的设定)
在这个项中追加一个字串值,名称=worker_mount_file 值=c:\tomcat\conf\uriworkermap.properties (根据自己环境作相应的设定)
2. 设定虚拟目录
启动Microsoft Internet Information Server 的Internet服务管理器。
在默认的Web站点下创建一个虚拟目录。这个虚拟目录的名称一定得是 jakarta , 它的物理路径指向你存放 isapi_redirect.dll 的路径。例如(D:\tomcat\conf\ 在我们的缺省设定中 isapi_redirect.dll 使放在这个目录下的。) 当我们生成这个虚拟目录的时候,制定他的执行权限。
3. 设定ISAP筛选器
在默认Web站点上点击右键,设定属性。 在属性中ISAPI筛选器。 进行添加操作。 筛选器名称设定为 jakarta, 可执行文件指定为 c:\tomcat\conf\isapi_redirect.dll (根据环境设定)
4. 设定Tomcat设置文件
需要设定 uriworkermap.properties, workers.properties 两个文件。 参见我们的例子:uriworkermap.properties workers.properties
uriworkermap.properties 文件中那些context交给tomcat来处理,通过什么协议。
########################################################
/examples/*=ajp12
/ioffice/*=ajp12
worker.properties 文件中定义了 JAVA_HOME,TOMCAT_HOME等设定,以及相关的JAR库。
5. 验证
上述设定完毕后,重新启动机器。 在Internet服务管理器上确认filter设定被正确启动
方法:在默认Web站点上,点击右键,设定属性。在ISAPI筛选器TAB上确认jakarta的状态为向上的绿色箭头。表示成功了,否则表示设定有问题。
启动tomcat应用. 执行env.bat,或者启动tomcat服务
在ie中键入 http://localhost/ioffice/ 看是否OK.
如果上述验证都OK的话,所有设定都已完毕
-----------------------------------------------
附 isapi_redirect.dll 及tomcat3.2下载地址
http://jakarta.apache.org/builds/jakarta-tomcat/release/v3.2.3/bin/win32/i386/(isapi_redirect.dll下载)
上二级目录tomcat3.2下载
IIS中建立的站点也要在server.xml中设置
<Host name= "www.marker.com " >主机头
<Context path= " "
docBase= "C:\temp\ja " / >
<Context path= "/tt " 虚拟目录
docBase= "C:\temp\ja " / >
</Host >
---------------------------------------------------------------
安装resin 1.2.1: 解压缩所下载的resin-1.2.1.zip文件包至相关目录
如:安装到c:\resin121 目录之下
设置运行环境
1 - 找到resin目录下的bin目录,双击运行srun.exe,确定即可,该步骤完成
将isapi_srun.dll文件拷贝至c:\intepub\scripts目录下,并将resin加载进
IIS中,此时,观察Internet信息服务-〉服务器属性-〉ISAPI筛选器已经有
resin加载,但尚未启动
2 - 点击 开始-〉运行,输入C:\resin121\bin\srun.exe -install,将srun加
载为服务,此时观察 服务,将会看到resin servlet runner服务已经加载,但
尚未启动。如不作此步骤,需运行Srun.exe,将打开两个窗口,虽同样可以调试,
但非常之不方便。
3 - 修改resin.conf配置文件,找到
<http-server >
<app-dir >doc </app-dir >
修改为:
<http-server >
<app-dir >c:\inetpub\wwwroot </app-dir >
4 - 重新启动IIS,启动resin servlet runner服务
至此,安装完毕。
四:测试--建立test.jsp
<HTML >
<HEAD >
<TITLE >Simple Example </TITLE >
</HEAD >
<BODY >
<% out.println( "Hello, world! "); % >
</BODY >
</HTML >
在浏览器地址栏键入http://localhost:8080/test.jsp,经典的Hello, world!
就在眼前
---------------------------------------------------------------
一.说明:
配置如下:Win2000 Server + IIS 5.0(Win2000自带)+ Tomcat 3.1 binary release.
我使用的Tomcat 3.1是编译过的版本,在这个版本里面没有配置IIS和NT Service
的说明,但是在Tocmcat 3.2 source版里面有比较详细的帮助文件。根据这些帮助文件 可以顺利的把Tomcat作为插件插入IIS。
二.启动tomcat
安装完tomcat之后(具体安装过程略),要启动Tomcat很简单,首先可以查看tomcat\bin\startup.bat文件,利用控制面板里面的系统- >
高级- >环境变量对话框,新建环境变量TOMCAT_HOME和JAVA_HOME,使它们各自指向TOMCAT和JDK的根目录即可。另外为保险起见,
可以在path里面把二者的路径添加进去。然后开启一个DOS窗口执行startup.bat。 启动Tomcat后,会有一个DOS窗口显示启动情况。
此时访问http://localhost:8080可以看到Tomcat的一些示例。
三.配置
下一步工作就是如何把Tomcat插入IIS,使二者协同工作。主要分以下几个步骤:
1、在Windows注册表中注册:
将下面的begin和end之间的Jakarta.reg文件装入机器,我的Tomcat装在c:\\jakarta-tomcat,你可根据自己的环境修改Jakarta.reg文件
Jakarta.reg:
---begin---
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SOFTWARE\Apache Software Foundation\Jakarta Isapi Redirector\1.0]
"extension_uri "= "/jakarta/isapi_redirect.dll "
"log_file "= "c:\\jakarta-tomcat\\logs\\isapi.log "
"log_level "= "debug "
"worker_file "= "c:\\jakarta-tomcat\\conf\\workers.properties "
"worker_mount_file "= "c:\\jakarta-tomcat\\conf\\uriworkermap.properties "
---end---
注:其中的路径需改成你的tomcat的安装路径。
2、打开IIS管理器,在 "默认WEB站点”中建立一个虚拟目录jakarta,让它的路径指向isapi_redirect.dll所在目录。
(在3.1 bin中可能没有这个dll,你可以从3.2的bin\iis\nt4\i386目录中拷贝一个过来。该虚拟目录应被设置为 "可执行”。