Latest web development tutorials

Servlet страница автоматически обновляется

Предположим, что у вас есть сайт, то чтобы показать текущий счет игры или условия на фондовом рынке или курсов валют. Для всех этих типов страниц, необходимо периодически обновлять страницу.

Java Servlet обеспечивает механизм таким образом, что страница будет автоматически обновлять интервал в данный момент времени.

Самый простой способ , чтобы обновить страницу, чтобы использовать методsetIntHeader объекта ответа ().Ниже приводится определение этого метода:

общественного недействительными setIntHeader (заголовок String, INT HeaderValue)

Этот метод головы информация "Обновить" целое значение, вместе с временным интервалом (в секундах), чтобы отправить обратно в браузер.

Автоматическое обновление экземпляра страницы

Этот пример показывает , как использовать метод ServletsetIntHeader () , чтобы установить информацию заголовка Refresh, чтобы автоматически обновить страницу.

package com.w3big.test;

import java.io.IOException;
import java.io.PrintWriter;
import java.util.Calendar;

import java.util.GregorianCalendar;

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 Refresh
 */
@WebServlet("/Refresh")
public class Refresh extends HttpServlet {
	private static final long serialVersionUID = 1L;
   
	protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {

		// 设置刷新自动加载的事件间隔为 5 秒
		response.setIntHeader("Refresh", 5);
	 
		// 设置响应内容类型
		response.setContentType("text/html;charset=UTF-8");
	 
		// 获取当前的时间
		Calendar calendar = new GregorianCalendar();
		String am_pm;
		int hour = calendar.get(Calendar.HOUR);
		int minute = calendar.get(Calendar.MINUTE);
		int second = calendar.get(Calendar.SECOND);
		if(calendar.get(Calendar.AM_PM) == 0)
			am_pm = "AM";
		else
			am_pm = "PM";
	 
		String CT = hour+":"+ minute +":"+ second +" "+ am_pm;
	    
		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");
	}

}

Теперь давайте компилировать выше Servlet, и создать следующую запись в файле web.xml:

<?xml version="1.0" encoding="UTF-8"?>
<web-app>
  <servlet>
    <servlet-name>Refresh</servlet-name>
    <servlet-class>com.w3big.test.Refresh</servlet-class>
  </servlet>
  <servlet-mapping>
    <servlet-name>Refresh</servlet-name>
    <url-pattern>/TomcatTest/Refresh</url-pattern>
  </servlet-mapping>
</web-app>

Теперь, посетив HTTP: для вызова Servlet 8080 / TomcatTest / Refresh: // локальный. Это будет отображаться один раз каждые 5 секунд, текущее системное время. Запуск сервлета, и ждать, чтобы увидеть результаты:

Использование Servlet страница автоматически обновляется

Текущее время: 9: 44: 50 PM