Bem, gente, o código é esse:
<%@ page import="java.util.*" %>
<%
Date agora=new Date();
int dia=agora.getDate();
int mes=agora.getMonth();
int ano=agora.getYear() + 1900;
String diaStr;
diaStr=(dia < 10) ? "0"+dia : ""+dia+"";
String[] meses={"janeiro","fevereiro","março","abril","maio","junho","julho","agosto","setembro","outubro","novembro","dezembro"};
out.println("Hoje é "+diaStr+"/"+meses[mes]+"/"+ano);
%>
Eu impotei primeiro o pacote java.util, que iremos trabalhar com datas.
Definido a class Date, iniciamos a trabalhar com o objeto Date.
Definimos o dia (getDate()), mes (getMonth()) e o ano (getYear()), que é adicionado a 1900 para ficar o ano atual.
Depois defini uma variável chamada diaStr, que verificará se o dia for menor que 10. caso seja, então ele vai botar um 0 na frente do número. caso não seja, então será retornada a string com o dia.
por que ""+dia+"" ? simples: se deixássemos assim somente:
dia
ele iria interpretar como um valor int, e a gente precisa de um valor String.
depois criei um array com todos os meses do ano.
E com o out.println, imprimimos o dia, mês (que será baseado no array de meses, mas o índice será definido pelo getMonth()) e o ano.
Legal, neh?
Bom 2005 a vocês!