gpt4 book ai didi

java - 服务器端 Web 应用程序中的页面重定向

转载 作者:行者123 更新时间:2023-11-30 07:13:58 28 4
gpt4 key购买 nike

我有两个网站说

1. firstwebsite.com
2. secondwebsite.com

firstwebsite 中的所有页面都是静态的。现在我想将 firstwebsite.com 中的所有页面移动到 secondwebsite.com。我想关闭 firstwebsite.com 的所有服务器

我还想确保 URL firstwebsite.com/** 应该重定向到 secondwebsite.com/**

firstwebsite.com/abc.html 应该重定向到 secodnwebsite.com/abc.html

我正在使用 Spring 。有人可以指导我如何去做吗?后来我也想根据发送请求的设备做一些处理。

如果我能得到上面的一些引用,那就太好了。

最佳答案

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>

另见

Servlet Filters

Filter Interface

关于java - 服务器端 Web 应用程序中的页面重定向,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18841880/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com