eg:
@WebServlet("/Refresh")
public class Refresh extends HttpServlet{
/**
*
*/
private static final long serialVersionUID = 1L;
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
// TODO Auto-generated method stub
//super.doGet(req, resp);
// 设置刷新自动加载时间为 5 秒
//Refresh:这个头信息指定浏览器应该如何尽快请求更新的页面。您可以指定页面刷新的秒数。
resp.setIntHeader("Refresh", 500);
System.out.println("req:"+req);
System.out.println("resp:"+resp);
resp.setContentType("text/html;charset=UTF-8");
Calendar calendar=Calendar.getInstance();
java.util.Date taskTime=calendar.getTime();
SimpleDateFormat df=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
//格式化输出
String nowTime = df.format(taskTime);
PrintWriter out = resp.getWriter();
String title = "自动刷新 Header 设置 - 菜鸟教程实例";
String docType =
"<!DOCTYPE html>\n";
out.println(docType +
"<html>\n" +
"<head><title>" + title + "</title></head>\n"+
"<body bgcolor=\"#f0f0f0\">\n" +
"<h1 align=\"center\">" + title + "</h1>\n" +
"<p>当前时间是:" + nowTime + "</p>\n");
}
@Override
protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
// TODO Auto-generated method stub
//super.doPost(req, resp);
doGet(req, resp);
}
@Override
protected void service(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
// TODO Auto-generated method stub
super.service(req, resp);
}
}
效果:每隔500秒浏览器页面刷新一次,并显示当前时间。
总结:当浏览器第一次向服务器发请求的时候,服务器为请求设置请求头信息,
resp.setIntHeader("Refresh", 500);(本例中)
然后浏览器解析请求头并作出相应的反馈。服务器不会主动向浏览器发消息,只有当浏览器请求的时候服务器才会作出反馈。