假设有一个网页,它是显示现场比赛成绩或股票市场状况或货币兑换率。对于所有这些类型的页面,您需要定期刷新网页。
刷新网页的最简单的方式是使用响应对象(respond)的方法 setIntHeader()。该方法的定义:
public void setIntHeader(String header,int headerValue)
Servlet 自动刷新页面实例:
package MyServlet;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.io.PrintWriter;
import java.util.Calendar;
import java.util.GregorianCalendar;
/**
* Created by 1192126986 on 2017/1/19.
*/
@WebServlet(name = "Refresh")
public class Refresh extends HttpServlet {
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
doGet(request,response);
}
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
//设置响应报头,设置refresh头信息,每5秒刷新一次页面
response.setIntHeader("Refresh",5);
//获取当前时间数
Calendar cal=new GregorianCalendar();
//获取当前小时
int hour=cal.get(Calendar.HOUR);
//获取当前分钟数
int minute=cal.get(Calendar.MINUTE);
//获取当前秒数
int second=cal.get(Calendar.SECOND);
String am_pm=null;
if(cal.get(Calendar.AM_PM)==0){//询问当前时间为上午或下午
am_pm="AM";
}else{
am_pm="PM";
}
String CT=hour+":"+minute+":"+second+" "+am_pm;
response.setContentType("text/html;charset=UTF-8");
PrintWriter out=response.getWriter();
String title = "使用 Servlet 自动刷新页面";
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>当前时间是:" + CT + "</p>\n");
}
}