需求描述:当客户访问www.aaa.com时,转到http://www.aaa.com/aaa项目下;当客户访问www.bbb.com时,转到http://www.bbb.com/bbb项目下。www.aaa.com和www.bbb.com是同一台服务器的两个内外网域名。aaa和bbb是部署在服务器上的两个web项目。
实现步骤:
1.在Tomcat路径下找到webapps文件夹里的ROOT根项目,修改ROOT项目中的index.jsp文件,修改内容如下:
<?
xml version="1.0" encoding="ISO-8859-1"
?>
<! DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd" >
<% @ page session = " false " %>
< html xmlns ="http://www.w3.org/1999/xhtml" xml:lang ="en" lang ="en" >
< head >
< title > <% = application.getServerInfo() %> </ title >
< SCRIPT LANGUAGE ="JavaScript" >
function redirect() {
var hrefName = window.location.href;
hrefName = hrefName.toLowerCase()
if (hrefName.indexOf('www.aaa.com') > 0 ) {
window.location.href = 'http: // www.aaa.com/aaa';
}
if (hrefName.indexOf('www.bbb.com') > 0 ) {
window.location.href = 'http: // www.bbb.com/bbb';
}
}
</ SCRIPT >
</ head >
< body onload ="redirect()" >
</ body >
</ html >
<! DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd" >
<% @ page session = " false " %>
< html xmlns ="http://www.w3.org/1999/xhtml" xml:lang ="en" lang ="en" >
< head >
< title > <% = application.getServerInfo() %> </ title >
< SCRIPT LANGUAGE ="JavaScript" >
function redirect() {
var hrefName = window.location.href;
hrefName = hrefName.toLowerCase()
if (hrefName.indexOf('www.aaa.com') > 0 ) {
window.location.href = 'http: // www.aaa.com/aaa';
}
if (hrefName.indexOf('www.bbb.com') > 0 ) {
window.location.href = 'http: // www.bbb.com/bbb';
}
}
</ SCRIPT >
</ head >
< body onload ="redirect()" >
</ body >
</ html >
2.打开ROOT根项目中WEB-INF文件夹下的web.xml进行修改,把其中的servlet-mapping部分注释掉。因为默认情况下,Tomcat的默认首页是由这个Servlet生成的,所以只修改index.jsp是不起作用的。