Latest web development tutorials

Strona odświeża się automatycznie Servlet

Załóżmy, że masz stronę internetową, jest to, aby pokazać na żywo wyniki gier lub warunków giełdowych lub kursów walut. Dla wszystkich tych typów stron, trzeba okresowo odświeżyć stronę.

Java serwletów dostarcza mechanizm, że strona automatycznie częstotliwość odświeżania w danym czasie.

Najprostszym sposobem, aby odświeżyć stronę jest użycie metodysetIntHeader obiektu odpowiedzi na ().Poniżej znajduje się definicja tej metody:

public void setIntHeader (nagłówek String, int headerValue)

Metoda ta informacja głowa "Odśwież" wartość całkowitą, wraz z przedziałem czasu (w sekundach) wysłać z powrotem do przeglądarki.

Automatyczne odświeżanie strony instancja

Ten przykład pokazuje, jak użyć metody ServletsetIntHeader (), aby ustawić Odświeżinformacje nagłówka automatycznie odświeżyć stronę.

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

}

Teraz skompilować powyższy Servlet i utworzyć następujący wpis w pliku 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>

Teraz odwiedzając http: zadzwonić aplet 8080 / TomcatTest / Refresh: // localhost. Spowoduje to wyświetlenie raz na 5 sekund aktualny czas systemowy. Uruchom aplet i czekać, aby zobaczyć wyniki:

Strona odświeża się automatycznie Zastosowanie Servlet

Aktualny czas: 9: 44: 50 PM