标签:iis tomcat jsp iis处理jsp程序 tomcat-connectors
转载请注明出处:陈科肇
1.前提准备:
操作系统:windows 7 旗舰版 x64
JDK:jdk1.7.0_79_x64(安装目录:D:\JAVA\jdk1.7.0_79_x64)
tomcat:32-bit64-bit Windows Service Installer(安装目录:D:\0tomcat7SerV)
tomcat-connectors:tomcat-connectors-1.2.40-windows-x86_64-iis
iis:iis7
一个可运行的javaWeb程序:wwo.war
2.开始
首先得把运行的环境搭配起来,需要的运行环境和配置操作如下:
a.jdk:
这个是无用质疑的,是java程序运行的环境。
根据自己需求,进行下载
下载网址:http://www.oracle.com/technetwork/java/javase/downloads/index.html
本例子用的JDK版本:jdk1.7.0_79_x64
安装操作这里就不做多介绍了,如果你安装jdk完成之后。
在C:\Windows\System32\cmd.exe程序里执行:java -version命令,看到大概如下的输出,表示你的jdk已安装成功。
C:\Users\Administrator>java -version java version "1.7.0_79" Java(TM) SE Runtime Environment (build 1.7.0_79-b15) Java HotSpot(TM) 64-Bit Server VM (build 24.79-b02, mixed mode)b.安装tomcat服务
注:这里我用的是安装版tomcat服务
根据自己需求,进行下载:
下载网址:http://tomcat.apache.org/download-70.cgi
下载完成下来的是一个可运行的 .exe文件,安装很简单,双击运行,可一路默认选项安装即可(也可以根据自己需要修改安装目录以及Tomcat Manager的登录用户及密码)。
本例子tomcat版本:32-bit64-bit Windows Service Installer
tomcat默认访问端口为:8080
等你安装完成之后,在浏览器地址栏输入:http://localhost:808
看到如下画面,说明你tomcat安装成功。
注:如果你安装的tomcat是64位的,那么你对应的jdk也是64位的,否则,反之。
c.tomcat-connectors
在IIS中把JSP相关的请求发送到Tomcat需要Tomcat Connector的支持。
需要自己需求,进行下载。
下载网址:http://www.apache.org/dist/tomcat/tomcat-connectors/jk/binaries/windows/
本例子tomcat-connectors版本:tomcat-connectors-1.2.40-windows-x86_64-iis
下载下来,解压,可以看到里面包含有:isapi_redirect.dll,这个文件(不是这个名字,也要改成这个名字)。
接下来,我们把isapi_redirect.dll这个文件放到D:\0tomcat7SerV\bin\jk目录下,没有这个目录,自己创建一个。
接下来,创建四个文件,分别为:
IISResTomcat.reg
(执行即可,用来导入注册表文件)
内容如下:
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"="d:\\0tomcat7SerV\\logs\\isapi.log" "log_level"="debug" "worker_file"="d:\\0tomcat7SerV\\conf\\workers.properties" "worker_mount_file"="d:\\0tomcat7SerV\\conf\\uriworkermap.properties"
注:双击运行这个文件,即导入注册表中 如果把"log_level"="realease"改成"log_level"="debug"日志里会增长的很快,里面写了转发的情况
(存放位置:D:\0tomcat7SerV\conf)
内容如下:
#Configuration file for the Jakarta ISAPI Redirector # The path to the ISAPI Redirector Extension, relative to the website # This must be in a virtual directory with execute privileges <span style="color:#ff0000;">extension_uri=/jakarta/isapi_redirect.dll</span> # Full path to the log file for the ISAPI Redirector <span style="color:#ff0000;">log_file=d:\0tomcat7SerV\logs\isapi_redirect.log</span> # Log level (debug, info, warn, error or trace) <span style="color:#ff0000;">log_level=info</span> # Full path to the workers.properties file <span style="color:#ff0000;">worker_file=d:\0tomcat7SerV\conf\workers.properties</span> # Full path to the uriworkermap.properties file <span style="color:#ff0000;">worker_mount_file=d:\0tomcat7SerV\conf\uriworkermap.properties</span>uriworkermap.properties
(存放位置:D:\0tomcat7SerV\conf)
内容如下:
#所有访问都转发到tomcat中 /*=worker1 #所有*.jsp的才向tomcat转发 #/*.jsp=worker1 #所有/jsp-examples/*的才向tomcat转发,我们这里要求将WebReport工程下的所有内容转发 #/jsp-examples/*=worker1 #所有的gif文件都不向tomcat转发,而由IIS处理,注意这表示是所有的而不仅仅是根下的 #!/*.gif=worker1
# 工作站的名称任意,但须注意前后一致,多个工作站以“,”分割 #worker.list=ajp13w # 工作站的类型:ajp13是IIS与Tomcat通讯协议的名称 #worker.ajp13w.type=ajp13 # 注意此处的host需要与主机或者设置域名的名称一致 #worker.ajp13w.host=www.chenkezhao.com # worker.ajp13w.host=localhost # ajp13协议的通讯端口 #worker.ajp13w.port=8009 # 负载因子 #worker.worker1.lbfactor=1 #---------------- workers.tomcat_home=D:\0tomcat7SerV workers.java_home=D:\JAVA\jdk1.7.0_79_x64 ps=worker.list=worker1 worker.worker1.port=8009 worker.worker1.host=localhost worker.worker1.type=ajp13 worker.worker1.lbfactor=1
C:\Windows\System32\drivers\etc\hosts 中添加一个本地映射的域名
添加内容如下:
#我的主机域名 127.0.0.1 www.chenkezhao.com
程序位置:控制面板\所有控制面板项\管理工具\Internet 信息服务(IIS)管理器。
如果找不到,可以在:控制面板\程序\程序和功能-》找到“打开或关闭Windows功能”,点击。
这些加多点也无所谓。
安装完成后,启动程序。
确定。
接着选中根目录,然后在功能视图里,双击“ISAPI和CGI限制”项->添加,
接下来,选中网站站点,右键添加应用程序
完成之后点击这个应用程序,进入处理程序映射,点击右手边的"编辑处理程序权限...",
把"执行"项勾打上
随后为站点添加ISAPI筛选器以便Connector能截取到URL请求.点击"我的博客" -
> "ISAPI 筛选器" ,把isapi_redirect.dll添加进去,名称可以随便起.
完成这个步骤以后,Connector就可以对请求进行过滤,把符合配置文件中的请求重写到
extension_uri指定的uri进行处理,这里为/jakarta/isapi_redirect.dll,然后isapi_redirect.dll
再转发到tomcat的8009由tomcat处理完成后再循原路发回去.
f.完成了IIS的配置,接下就是给tomcat配置站点
打开文件:D:\0tomcat7SerV\conf\server.xml
<Engine>标签下找到 <Host>进行配置
<Engine> ... <Host name="www.chenkezhao.com" appBase="." unpackWARs="true" autoDeploy="true" xmlValidation="false" xmlNamespaceAware="false"> <!-- SingleSignOn valve, share authentication between web applications Documentation at: /docs/config/valve.html --> <!-- <Valve className="org.apache.catalina.authenticator.SingleSignOn" /> --> <!-- Access log processes all example. Documentation at: /docs/config/valve.html Note: The pattern used is equivalent to using pattern="common" --> <Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs" prefix="localhost_access_log." suffix=".txt" pattern="%h %l %u %t "%r" %s %b" /> <Context path="/" reloadable="true" docBase="E:\myItem\wwo" ></Context> </Host> </Engine>
如果网站是UTF-8则需要修改这里
<Connector port="8009" protocol="AJP/1.3" redirectPort="8443" />
改成
<Connector port="8009" protocol="AJP/1.3" redirectPort="8443" URIEncoding="utf-8" />
最后 重启Tomcat
在浏览器地址栏中输入:http://www.chenkezhao.com
效果如下:
参考:
http://jingpin.jikexueyuan.com/article/49518.html
问题参考:
之前我创建的是“虚拟目录”,其它步骤都是一样的。但就是报404了
最后参考:http://jingpin.jikexueyuan.com/article/49518.html
把问题解决了。
把创建“虚拟目录”换成“应用程序”即可解决,不知道有没有人遇过我这种情况,这两个有什么区别,今天我把问题记录下来,方便后人参考。
版权声明:本文为博主原创文章,未经博主允许不得转载。
win7+ii7+tomcat7运行javaWeb开发的程序
标签:iis tomcat jsp iis处理jsp程序 tomcat-connectors
原文地址:http://blog.csdn.net/u013474104/article/details/47375617