HTTP协议中定义了一个Refresh头字段,用于告诉浏览器过多少秒后自动刷新页面。在Refresh头字段的时间设置值后面还可以用分号(;)分隔后,再指定一个URL地址,这将让浏览器在指定的时间值后自动去访问该URL地址指向的资源。
:动手体验:Refresh头字段的作用效果
(1)按例程5-2编写一个设置Refresh头字段的Servlet。
例程5-2 RefreshServlet.java
import java.io.*;
import javax.servlet.*;
import javax.servlet.http.*;
public class RefreshServlet extends HttpServlet
{
public void service(HttpServletRequest request,
HttpServletResponse response) throws ServletException, IOException
{
//分别注释下面两条语句中的一条,查看各自的运行效果
response.setHeader("Refresh","2");
//response.setHeader("Refresh","2;URL=http://www.it315.org");
response.getWriter().println(new java.util.Date());
}
}
使用compile.bat编译RefreshServlet.java源文件,确保编译后生成的class文件存放在了<tomcat的安装目录>/webapps/it315/WEB-INF/classes目录中。
(2)修改<tomcat的安装目录>/webapps/it315/WEB-INF/web.xml文件,在其中的相应位置处增加如下两段内容:
<servlet>
<servlet-name>RefreshServlet</servlet-name>
<servlet-class>RefreshServlet</servlet-class>
</servlet>
……
……
<servlet-mapping>
<servlet-name>RefreshServlet</servlet-name>
<url-pattern>/servlet/RefreshServlet</url-pattern>
</servlet-mapping>
保存web.xml文件后,重新启动Tomcat。
(3)在浏览器地址栏中输入如下地址:
http://localhost:8080/it315/servlet/RefreshServlet
可以看到浏览器两秒钟后自动刷新网页文档的效果。
(4)将RefreshServlet.java源文件中的第一条调用setHeader方法的语句注释掉,并取消第二条调用setHeader方法的语句的注释。重新编译RefreshServlet.java源文件并等待Tomcat重新装载RefreshServlet后,重复步骤(3)的操作,可以看到的浏览器两秒后自动去访问http://www.it315.org的运行效果。