我有两个CNAME-s指向同一台服务器。我想将一个servlet分配给第一个CNAME,将另一个servlet分配给第二个CNAME。我可以在web.xml
中进行此操作(或者在没有手动解析ServletRequest
的情况下进行其他操作)吗?
答案 0 :(得分:2)
有一个filter的想法,其中有一个基于ServletRequest#getServerName()
和调度的条件,这个请求将适用于相应的servlet。
public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain)
throws IOException, ServletException {
...
[other processing/validations]
...
if(request.getServerName().equals("domain1.com"))
request.getRequestDispatcher("/servlet1").forward(request, response)
else
request.getRequestDispatcher("/servlet2").forward(request, response)
}
显然,您可以在<init-param>
中web.xml
动态设置域名,以便根据您的构建配置文件更改这些值。