“Servlet 网页重定向”的版本间差异

本页内容
(创建页面,内容为“{{DISPLAYTITLE:Servlet 网页重定向}}17 = Servlet 网页重定向 = 当文档移动到新的位置,我们需要向客户端发送这个新位置时,我们需要用到网页重定向。当然,也可能是为了负载均衡,或者只是为了简单的随机,这些情况都有可能用到网页重定向。 重定向请求到另一个网页的最简单的方式是使用 response 对象的 sendRedirect() 方法。下面是…”)
 
Neo讨论 | 贡献
无编辑摘要
 
第6行: 第6行:
重定向请求到另一个网页的最简单的方式是使用 response 对象的 sendRedirect() 方法。下面是该方法的定义:
重定向请求到另一个网页的最简单的方式是使用 response 对象的 sendRedirect() 方法。下面是该方法的定义:


<pre>
<sample title="" desc="" lang="java" hererun="1">
public void HttpServletResponse.sendRedirect(String location)
public void HttpServletResponse.sendRedirect(String location)
throws IOException  
throws IOException
</pre>
</sample>
该方法把响应连同状态码和新的网页位置发送回浏览器。您也可以通过把 setStatus() 和 setHeader() 方法一起使用来达到同样的效果:
该方法把响应连同状态码和新的网页位置发送回浏览器。您也可以通过把 setStatus() 和 setHeader() 方法一起使用来达到同样的效果:


<pre>
<sample title="" desc="" lang="java" hererun="1">
....
....
String site = &quot;http://www.xiaobai.wang&quot; ;
String site = "http://www.xiaobai.wang" ;
response.setStatus(response.SC_MOVED_TEMPORARILY);
response.setStatus(response.SC_MOVED_TEMPORARILY);
response.setHeader(&quot;Location&quot;, site);
response.setHeader("Location", site);
....
....
</pre>
</sample>


本实例显示了 Servlet 如何进行页面重定向到另一个位置:
本实例显示了 Servlet 如何进行页面重定向到另一个位置:


<pre>
<sample title="" desc="" lang="java" hererun="1">
package com.xiaobai.test;
package com.xiaobai.test;


第36行: 第36行:
  * Servlet implementation class PageRedirect
  * Servlet implementation class PageRedirect
  */
  */
@WebServlet(&quot;/PageRedirect&quot;)
@WebServlet("/PageRedirect")
public class PageRedirect extends HttpServlet{
public class PageRedirect extends HttpServlet{


第44行: 第44行:
   {
   {
       // 设置响应内容类型
       // 设置响应内容类型
       response.setContentType(&quot;text/html;charset=UTF-8&quot;);
       response.setContentType("text/html;charset=UTF-8");


       // 要重定向的新位置
       // 要重定向的新位置
       String site = new String(&quot;http://www.xiaobai.wang&quot;);
       String site = new String("http://www.xiaobai.wang");


       response.setStatus(response.SC_MOVED_TEMPORARILY);
       response.setStatus(response.SC_MOVED_TEMPORARILY);
       response.setHeader(&quot;Location&quot;, site);
       response.setHeader("Location", site);
     }
     }
}  
}
</pre>
</sample>
现在让我们来编译上面的 Servlet,并在 web.xml 文件中创建以下条目:
现在让我们来编译上面的 Servlet,并在 web.xml 文件中创建以下条目:


<pre>
<sample title="" desc="" lang="java" hererun="1">
....
....
  &lt;servlet&gt;
  <servlet>
     &lt;servlet-name&gt;PageRedirect&lt;/servlet-name&gt;
     <servlet-name>PageRedirect</servlet-name>
     &lt;servlet-class&gt;PageRedirect&lt;/servlet-class&gt;
     <servlet-class>PageRedirect</servlet-class>
  &lt;/servlet&gt;
  </servlet>


  &lt;servlet-mapping&gt;
  <servlet-mapping>
     &lt;servlet-name&gt;PageRedirect&lt;/servlet-name&gt;
     <servlet-name>PageRedirect</servlet-name>
     &lt;url-pattern&gt;/TomcatTest/PageRedirect&lt;/url-pattern&gt;
     <url-pattern>/TomcatTest/PageRedirect</url-pattern>
  &lt;/servlet-mapping&gt;
  </servlet-mapping>
....
....
</pre>
</sample>
现在通过访问 URL http://localhost:8080/PageRedirect 来调用这个 Servlet。这将把您转到给定的 URL http://www.xiaobai.wang。
现在通过访问 URL http://localhost:8080/PageRedirect 来调用这个 Servlet。这将把您转到给定的 URL http://www.xiaobai.wang。

2022年8月17日 (三) 20:27的最新版本

Servlet 网页重定向

当文档移动到新的位置,我们需要向客户端发送这个新位置时,我们需要用到网页重定向。当然,也可能是为了负载均衡,或者只是为了简单的随机,这些情况都有可能用到网页重定向。

重定向请求到另一个网页的最简单的方式是使用 response 对象的 sendRedirect() 方法。下面是该方法的定义:


示例

public void HttpServletResponse.sendRedirect(String location)
throws IOException

该方法把响应连同状态码和新的网页位置发送回浏览器。您也可以通过把 setStatus() 和 setHeader() 方法一起使用来达到同样的效果:


示例

....
String site = "http://www.xiaobai.wang" ;
response.setStatus(response.SC_MOVED_TEMPORARILY);
response.setHeader("Location", site);
....

本实例显示了 Servlet 如何进行页面重定向到另一个位置:


示例

package com.xiaobai.test;

import java.io.IOException;

import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

/**
 * Servlet implementation class PageRedirect
 */
@WebServlet("/PageRedirect")
public class PageRedirect extends HttpServlet{

  public void doGet(HttpServletRequest request,
                    HttpServletResponse response)
            throws ServletException, IOException
  {
      // 设置响应内容类型
      response.setContentType("text/html;charset=UTF-8");

      // 要重定向的新位置
      String site = new String("http://www.xiaobai.wang");

      response.setStatus(response.SC_MOVED_TEMPORARILY);
      response.setHeader("Location", site);
    }
}

现在让我们来编译上面的 Servlet,并在 web.xml 文件中创建以下条目:


示例

....
 <servlet>
     <servlet-name>PageRedirect</servlet-name>
     <servlet-class>PageRedirect</servlet-class>
 </servlet>

 <servlet-mapping>
     <servlet-name>PageRedirect</servlet-name>
     <url-pattern>/TomcatTest/PageRedirect</url-pattern>
 </servlet-mapping>
....

现在通过访问 URL http://localhost:8080/PageRedirect 来调用这个 Servlet。这将把您转到给定的 URL http://www.xiaobai.wang。

此页面最后编辑于2022年8月17日 (星期三) 20:27。