Java EE には、すべての要求で実行されるフィルターがあります。へのすべてのリクエストfirstwebsite.com
は、最初にコード内でフィルタによって処理され、次に にリダイレクトされsecodnwebsite.com
ます。
public class RedirectionFilter implements Filter {
/**
* Default constructor.
*/
public RedirectionFilter () {
// TODO Auto-generated constructor stub
}
/**
* @see Filter#destroy()
*/
@Override
public void destroy() {
// TODO Auto-generated method stub
}
@Override
public void doFilter(ServletRequest req, ServletResponse res, FilterChain chain) throws IOException, ServletException {
HttpServletRequest request = (HttpServletRequest) req;
HttpServletResponse response = (HttpServletResponse) res;
String servletPath = request.getServletPath();
if (servletPath.endsWith(".html")) {
response.sendRedirect("http://secondwebsite.com" + servletPath);
}
else {
chain.doFilter(request, response);
}
}
@Override
public void init(FilterConfig fConfig) throws ServletException {
// TODO Auto-generated method stub
}
}
このフィルターを配置記述子 (web.xml) に追加することを忘れないでください。このフィルターが最初に実行されるように、別のフィルターがある場合は最初に並べます。
<filter>
<display-name>RedirectionFilter</display-name>
<filter-name>RedirectionFilter</filter-name>
<filter-class>your.package.RedirectionFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>RedirectionFilter</filter-name>
<servlet-name>Servlet which firstwebsite.com run</servlet-name>
</filter-mapping>
こちらもご覧ください
サーブレット フィルタ
フィルタ インターフェイス