package io.bitbucket.NombreDeUsuario.jee02.servlets; import java.io.IOException; import java.io.PrintWriter; import java.text.SimpleDateFormat; import java.util.ArrayList; import java.util.Date; import java.util.List; import java.util.Locale; import java.util.Random; import javax.servlet.ServletException; import javax.servlet.annotation.WebServlet; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; @WebServlet( description = "Servlet para generación de HTML dinámico", urlPatterns = { "/ServletHtmlDinamico", "/html-dinamico" } ) public class ServletHtmlDinamico extends HttpServlet { private static final long serialVersionUID = 1L; private List numerosPseudoAleatorios(int cantidad) { List listaNumerosPseudoAleatorios = new ArrayList<>(); if (cantidad <= 0) { return listaNumerosPseudoAleatorios; } Random numeroAleatorio = new Random(); for (int i = 0; i < cantidad; i++) { listaNumerosPseudoAleatorios.add(numeroAleatorio.nextInt()); } return listaNumerosPseudoAleatorios; } private String tablaHtmlNumerosPseudoAleatorios(int columnas, int filas) { StringBuffer tablaHtml = new StringBuffer(); tablaHtml.append(""); tablaHtml.append(""); tablaHtml.append(""); tablaHtml.append(""); for (int i = 0; i < columnas; i++) { tablaHtml.append(""); } tablaHtml.append(""); tablaHtml.append(""); tablaHtml.append(""); for (int i = 0; i < filas; i++) { List listaNumerosPseudoAleatorios = this.numerosPseudoAleatorios(columnas); tablaHtml.append(""); for (int j = 0; j < columnas; j++) { tablaHtml.append(""); } tablaHtml.append(""); } tablaHtml.append(""); tablaHtml.append("
Tabla (" + columnas + "x" + filas + ") de Números Pseudoaleatorios
#" + (i + 1) + "
" + listaNumerosPseudoAleatorios.get(j) + "
"); return tablaHtml.toString(); } protected void doGet( HttpServletRequest request, HttpServletResponse response ) throws ServletException, IOException { response.setContentType("text/html"); response.setCharacterEncoding("UTF-8"); PrintWriter salida = response.getWriter(); /* Obtención de fecha */ SimpleDateFormat formatoFecha = new SimpleDateFormat("EEEE ',' d 'de' MMMM 'del' yyyy", new Locale("es", "MX")); String fecha = formatoFecha.format(new Date()); /* Obtención de hora */ SimpleDateFormat formatoHora = new SimpleDateFormat("H:mm:ss a", new Locale("es", "MX")); String hora = formatoHora.format(new Date()); /* Generación de un documento de HTML */ String documentoHtml = "" + "" + "" + "" + "" + "ServletHtmlDinamico" + "" + "" + "" + "" + "
" + "
" + "

ServletHtmlDinamico

" + "
" + "" + "
" + "

Fecha: " + fecha + "

" + "

Hora: " + hora + "

" + this.tablaHtmlNumerosPseudoAleatorios(5, 10) + "
" + "
" + "" + ""; salida.println(documentoHtml); } }