Latest web development tutorials

Halaman Servlet otomatis refresh

Misalkan Anda memiliki sebuah situs web, itu adalah untuk menunjukkan skor pertandingan hidup atau kondisi pasar saham atau nilai tukar mata uang. Untuk semua jenis halaman, Anda perlu secara berkala refresh halaman.

Java Servlet menyediakan mekanisme agar halaman secara otomatis akan me-refresh interval waktu tertentu.

Cara termudah untuk me-refresh halaman adalah dengan menggunakan metode objek respon inisetIntHeader ().Berikut ini adalah definisi dari metode ini:

public void setIntHeader (String header, int headerValue)

Informasi kepala metode ini "Refresh" nilai integer, bersama-sama dengan interval waktu (dalam detik) untuk mengirim kembali ke browser.

Otomatis refresh halaman contoh

Contoh ini menunjukkan bagaimana menggunakan metode ServletsetIntHeader () untuk mengatur informasi header Segarkanuntuk secara otomatis me-refresh halaman.

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");
	}

}

Sekarang mari kita mengkompilasi Servlet atas, dan menciptakan entri berikut dalam file 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>

Sekarang dengan mengunjungi http: untuk memanggil Servlet 8080 / TomcatTest / Refresh: // localhost. Ini akan menampilkan setiap 5 detik, waktu sistem saat ini. Jalankan Servlet, dan menunggu untuk melihat hasilnya:

Halaman Gunakan Servlet otomatis refresh

Waktu Saat Ini: 9: 44: 50 PM