tomcat设置URIEncoding

制作环境:
Windows 2003 + IIS6、jre1.5.0_06、apache-tomcat-5.5.17
首先需要做以下准备工作
1、安装好 Tomcat 和 IIS6,并且都能正常运行
2、Tomcat的端口没做任何修改
3、下载集成需要的文件
-apache-tomcat-5.5.25.exe
-jdk-1_5_0_13-windows-i586-p.exe
-isapi_redirector2.rar

集成步骤
1、配置环境变量 JAVA_HOME 和 TOMCAT_HOME
2、将 isapi_redirector2.dll 文件拷贝到 TOMCAT_HOME 中的任意一个目录中,如:TOMCAT_HOME/iis 此目录需要新建
3、新建一个目录存放站点,如:d:\web 并在其中新建一个 ROOT 目录,此目录作为站点的默认起始目录
4、打开 IIS 控制台,新建一个站点,如果自己有域名的话可以在主机头中输入自己的域名,
如:  www.zzidc.com 这样就不会和原来的默认网站冲突了,现在需要将默认网关停止后再新建
5、新建一个虚拟目录,名称为:jakarta 这个名称不能改变,路径为 TOMCAT_HOME/iis ,也就是放 dll 文件的 目录
打开站点属性窗口,进入 ISAPI 筛选器,点击添加铵钮,在筛选器名称中输入 jakarta ,这个名字也不能修改,所以要注意是否正确,
在可执行文件中选择 TOMCAT_HOME/iis/isapi_redirector2.dll 文件
进入主目录选项卡,在弹出窗口中选择添加,这里对 jsp 文件和 struts 的 do 访问方式进行映射配置,点击添加铵钮,
可执行文件选择 TOMCAT_HOME/iis/isapi_redirector2.dll ,扩展名为 jsp ,同样对 do 也进行配置
6、新增一个 Web 服务扩展,扩展名随意填,如: Tomcat ,要求的文件选择 TOMCAT_HOME/iis/isapi_redirector2.dll ,
选中设置扩展状态为充许项,然后确定
7、拷贝 jk2.properties 、 workers2.properties 两个文件到 TOMCAT_HOME/conf 目录中

jk2.properties 文件内容如下:
request.tomcatAuthentication=false

workers2.properties 文件内容如下:( 以下第二行的文件路径需要根据自己的配置进行修改 )
[shm]
file= d:/Tomcat/logs/jk2.log
size=1048576

# Example socket channel, override port and host.
[channel.socket:localhost:8009]
port=8009
host=127.0.0.1

# define the worker
[ajp13:localhost:8009]
channel=channel.socket:localhost:8009

# Uri mapping
[uri:/*.jsp]
[uri:/*.do]
[uri:/do/*]
worker=ajp13:localhost:8009

# define the worker
[status:status]

# Uri mapping
[uri:/jkstatus/*]
worker=status:status

注意 # Uri mapping 部份,现在已经开通了对jsp文件和 struts的两种访问方式,如果还有其它的文件访问需要转到Tomcat来处理的话都在此进行配置

8、现打开注册表文件, 修改绿色字体部份,注意路径表示符
文件内容如下:
Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SOFTWARE\Apache Software Foundation\Jakarta Isapi Redirector\2.0]
"serverRoot"=" D:\\Tomcat "
"extensionUri"="/jakarta/isapi_redirector2.dll"
"workersFile"=" D:\\Tomcat\\conf\\workers2.properties "
"logLevel"="DEBUG"

修改完成后将导入注册表(双击此文件)

9、修改 tomcat 的配置文件 server.xml

使用以下内容替换原来的 <host>...</host> 内容, 绿色字体为需要修改的内容

<Host name=" localhost " debug="0" appBase=" d:\web " unpackWARs="true" autoDeploy="true">
<Logger className="org.apache.catalina.logger.FileLogger" directory="logs" prefix=" oksonic_log. " suffix=".txt" timestamp="true"/>
<Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs" prefix=" oksonic_access_log. " suffix=".txt" pattern="common" resolveHosts="false"/>
</Host>

拷贝 Tomcat_Home/webapps/ROOT 下的文件到 web/ROOT 中

重启IIS和Tomcat服务
打开浏览器输入  http://localhost/index.jsp 进行测试,正常的话可以显示 Tomcat 默认的首页
这时再进入到 IIS 的管理工具中查看ISAPI筛选器,这时应该显示一个绿色向上的箭头,如果没有绿色箭头的话应该是有一个红色的向下的箭头,这表明是配置有问题,请检查,如果一个箭头也没有的话应该是没有使用浏览进行测试,只要有一遍测试的话就应该有箭头了
这里配置完成后有一个问题,就是无法使用  http://localhost 直接打开 index.jsp ,
即使是配置了IIS6的默认首页也不行,我采用的方法是使用一个 index.htm 文件来进行跳转,文件内容如下:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
" http://www.w3.org/TR/html4/loose.dtd";>
<html>
<head>
<meta http-equiv="refresh" content="0; url=/index.jsp">
</head>

<body>

</body>
</html>

整个配置基本完成,现在需要解决乱码的问题,如果有遇到乱码问题的话

这里使用的全是 UTF-8

在项目中要使用 UTF-8 的编码,并配置了过滤器,过滤编码也是 UTF-8

修改 Tomcat 的配置文件 server.xml ,在端器配置的地方加入 URIEncoding="UTF-8"
如:
<Connector URIEncoding="UTF-8"
port="8080" maxHttpHeaderSize="8192"
maxThreads="150" minSpareThreads="25" maxSpareThreads="75"
enableLookups="false" redirectPort="8443" acceptCount="100"
connectionTimeout="20000" disableUploadTimeout="true" />


这里是Tomcat使用的编码,还要配置集成时使用的编码,因为集成时使用的端口为 8009 所以在配置8009端口的地方也要加入 URIEncoding="UTF-8"
如:
<Connector URIEncoding="UTF-8"
port="8009"
enableLookups="false" redirectPort="8443" protocol="AJP/1.3" />

好了,重启 IIS 服务和 Tomcat 服务,整个集成工作就完成了
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值