Latest web development tutorials

Servlet Data Processing

Uno dei più importanti vantaggi di utilizzare Servlet che può essere utilizzato nella maggior parte del nucleo metodi Java disponibili. Questo capitolo spiegheràil pacchetto java.utilfornito dalla classeDateJava che incapsula la data e l'ora corrente.

classe Date supporta due costruttori. Il primo costruttore per inizializzare l'oggetto la data e l'ora corrente.

Date( )

Il seguente costruttore accetta un parametro che è uguale al numero di millisecondi trascorsi dal 1 gennaio 1970 a mezzanotte.

Date(long millisec)

Una volta che si dispone di un oggetto Date disponibili, è possibile chiamare uno dei seguenti modi per utilizzare il supporto Data:

序号方法 & 描述
1boolean after(Date date)
如果调用的 Date 对象中包含的日期在 date 指定的日期之后,则返回 true,否则返回 false。
2boolean before(Date date)
如果调用的 Date 对象中包含的日期在 date 指定的日期之前,则返回 true,否则返回 false。
3Object clone( )
重复调用 Date 对象。
4int compareTo(Date date)
把调用对象的值与 date 的值进行比较。如果两个值是相等的,则返回 0。如果调用对象在 date 之前,则返回一个负值。如果调用对象在 date 之后,则返回一个正值。
5int compareTo(Object obj)
如果 obj 是 Date 类,则操作等同于 compareTo(Date)。否则,它会抛出一个 ClassCastException。
6boolean equals(Object date)
如果调用的 Date 对象中包含的时间和日期与 date 指定的相同,则返回 true,否则返回 false。
7long getTime( )
返回 1970 年 1 月 1 日以来经过的毫秒数。
8int hashCode( )
为调用对象返回哈希代码。
9void setTime(long time)
设置 time 指定的时间和日期,这表示从 1970 年 1 月 1 日午夜以来经过的时间(以毫秒为单位)。
10String toString( )
转换调用的 Date 对象为一个字符串,并返回结果。

Ottiene la data e l'ora correnti

Ottiene la data e l'ora correnti nel Java Servlet è molto facile. È possibile utilizzaretoStringdi un singolo oggetto Date()per l'uscita la data e l'ora corrente nel seguente modo:

package com.w3big.test;

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

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

		response.setContentType("text/html;charset=UTF-8");
		PrintWriter out = response.getWriter();
  		String title = "显示当前的日期和时间";
		Date date = new Date();
		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" +
			"<h2 align=\"center\">" + date.toString() + "</h2>\n" +
			"</body></html>");
	}

}

Ora, cerchiamo di compilare il Servlet sopra, e creare la voce appropriata nel file web.xml:

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

Poi visita http: per chiamare il Servlet 8080 / TomcatTest / DataCorrente: // localhost. Ciò produrrà i seguenti risultati:

Provare per aggiornare l'URL http: // localhost: 8080 / TomcatTest / DataCorrente, aggiornare ogni differenza pochi secondi troverete un tempo di visualizzazione.

Confronta date

Come accennato in precedenza, è possibile utilizzare tutti i metodi Java disponibili in un servlet. Se avete bisogno di confrontare due date sono le seguenti metodi:

  • È possibile utilizzare il getTime () per ottenere i due oggetti, dal 1 gennaio, 1970 a mezzanotte il tempo trascorso (in millisecondi), quindi questi due valori.
  • È possibile utilizzare il metodo prima (), dopo () e equals (). Dal 12 fino al 18, per esempio, new Date (99, 2, 12) .prima (new Date (99, 2, 18)) restituisce il mese true.
  • È possibile utilizzare il metodo compareTo (), che è definito dall'interfaccia comparabili da parte di Data realizzare.

L'uso SimpleDateFormat per formattare le date

SimpleDateFormat è una classe concreta in una formattazione maniera locale sensibili e le date di parsing. SimpleDateFormat consente di selezionare qualsiasi data e ora schema di formattazione definito dall'utente.

Facciamo modificare l'esempio precedente, come segue:

package com.w3big.test;

import java.io.IOException;
import java.io.PrintWriter;
import java.text.SimpleDateFormat;
import java.util.Date;

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

		response.setContentType("text/html;charset=UTF-8");
		
		PrintWriter out = response.getWriter();
		String title = "显示当前的日期和时间";
		Date dNow = new Date( );
		SimpleDateFormat ft = 
				new SimpleDateFormat ("yyyy.MM.dd  hh:mm:ss E a ");
		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" +
	        "<h2 align=\"center\">" + ft.format(dNow) + "</h2>\n" +
	        "</body></html>");
	}

}

Compilare il precedente Servlet di nuovo, e poi visita http: per chiamare il Servlet 8080 / TomcatTest / DataCorrente: // localhost. Ciò produrrà i seguenti risultati:


Data semplice formato codice di formato

Utilizzando la stringa modalità Evento per specificare il formato dell'ora. In questo modo, tutte le lettere ASCII sono riservati come lettere modello, e le lettere sono definite come segue:

carattere descrizione Esempi
sol indicatore di era AD
y Quattro anni cifre 2001
M Mese dell'anno O 7 luglio
d I primi giorni del mese 10
h AM / PM, ora (da 1 a 12) con 12
H Le prime ore del giorno (0 a 23) 22
m Un'ora della prima frazione 30
s Un punto nei primi secondi 55
S millisecondo 234
E La settimana della settimana martedì
D I primi giorni dell'anno 360
F Week è la settimana in cui questo mese 2 (seconda mer nel mese di luglio)
w Le prime settimane dell'anno 40
W Le prime settimane di gennaio 1
un AM / PM marchio PM
k Le prime ore del giorno (da 1 a 24) 24
K Con AM / PM ora (da 0 a 11) 10
z Fuso orario Eastern Standard Time
' Fuga per il testo delimitatore
" virgolette singole `

Per un elenco completo dei metodi di data di elaborazione disponibili per visualizzare, è possibile fare riferimento alla documentazione standard di Java.