最近在做一个服务网站的专用服务接口(为网站的大客户),就是为这些客户专做一个web系统,简化客户的操作,每一个客户需求不同,需要对系统做调整和部署,客户访问使用二级域名的方式,比如客户是aaa,二级域名就是aaa. 我的服务web域名.com。
现在在一个tomcat里部署所有的客户专业服务接口系统,这个tomcat和公共服务网站部署不同位置,不是80端口,使用apache(80端口)将该tomcat进行整合,分配二级域名。
现在就是每次在一个公共jsp页面中获取用户访问的url,截取二级域名,根据域名转发到不同的系统中。找到了这样一个方法:
<%
String realPath1 = "http://" + request.getServerName() + ":" + request.getServerPort() + request.getContextPath()+request.getServletPath().substring(0,request.getServletPath().lastIndexOf("/")+1);
System.out.println("web URL 路径:"+realPath1);
%>
有不少资料说,request.getRequestURL()方法可以直接获取访问域名,但实际检测,输出的是该网站资源在服务器的逻辑路径和文件名,这个方法获完整的获取过来,现在就是截取二级域名,进行跳转处理了