Вы находитесь на странице: 1из 9

GUA DE LABORATORIO 3

Servlet API

Tecsup

Servlet API

LABORATORIO Objetivos:

Reconocer las etiquetas bsicas del lenguaje HTML. Escribir pginas HTML. Escribir funciones en lenguaje JavaScript para la validacin de formularios. Escribir Servlets

Equipos, Materiales, Programas y Recursos: PC con Sistema Operativo con soporte a Java. IDE para Java Navegador Web (recomendable Firefox)

Introduccin: En este laboratorio crearemos las primeras pginas HTML desde cdigo fuente. Al mencionar desde cdigo fuente hacemos referencia a que no utilizaremos alguna herramienta de diseo Web. En los primeros ejercicios utilizaremos el Bloc de Notas. Procedimiento y Resultados:

HTML y JavaScript ingreso.html <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title>Formulario</title> </head> <body> <form name="f1" action="" method="post"> Nombre: <input type="text" name="nom"> <br/> Clave: <input type="password" name="clave"> <br/> <input type="submit" value="Enviar"> </form> </body> </html>

Dpto. de Informtica David Rodrguez drodriguez@tecsup.edu.pe

Pg. 1

Tecsup

Servlet API

Modificar el ingreso.html, ahora tendr validaciones en JavaScript: <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title>Formulario</title> <script> function validar(){ var n = document.f1.nom.value; var c = document.f1.clave.value; if (n == ""){ alert('Ingrese nombre'); return false; } else if( c == ""){ alert('Ingrese clave'); return false; } return true; } </script> </head> <body> <form name="f1" action="" method="post" onSubmit="return validar();"> Nombre: <input type="text" name="nom"> <br/> Clave: <input type="password" name="clave"> <br/> <input type="submit" value="Enviar"> </form> </body> </html>

Dpto. de Informtica David Rodrguez drodriguez@tecsup.edu.pe

Pg. 2

Tecsup

Servlet API

Realizar el siguiente formulario y validarlo con JavaScript:

Dpto. de Informtica David Rodrguez drodriguez@tecsup.edu.pe

Pg. 3

Tecsup

Servlet API

SERVLETs 1. Crear el servlet PrimerServlet:


PrimerServlet.java package trastienda.servlet; import java.io.IOException; import java.io.PrintWriter; 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("/PrimerServlet") public class PrimerServlet extends HttpServlet { public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { PrintWriter pw = response.getWriter(); pw.println("<html><body>"); pw.println("<h3>Este es el primer servlet.</h3>"); pw.println("</body></html>"); } }

Dpto. de Informtica David Rodrguez drodriguez@tecsup.edu.pe

Pg. 4

Tecsup

Servlet API

2. Crear el servlet SegundoServlet. SegundoServlet.java package trastienda.servlet; import java.io.IOException; import java.io.PrintWriter; 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("/SegundoServlet") public class SegundoServlet extends HttpServlet { protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {2 String ip = request.getRemoteAddr(); String pagina = "<html> <body> "; pagina += "La IP del cliente es: " + ip; pagina += "</body></html>"; PrintWriter out = response.getWriter(); out.print(pagina); } }

Dpto. de Informtica David Rodrguez drodriguez@tecsup.edu.pe

Pg. 5

Tecsup

Servlet API

3. Crear el servlet EnviarArchivoServlet: EnviarArchivoServlet.java package trastienda.servlet; import java.io.File; import java.io.FileInputStream; import java.io.IOException; import java.io.OutputStream; 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("/EnviarArchivoServlet") public class EnviarArchivoServlet extends HttpServlet { protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { response.setHeader("Content-Disposition", "attachment; filename=texto.pdf"); response.setContentType("application/pdf"); File dir = new File("/home/david/"); File f = new File(dir, "texto.pdf"); byte[] bytearray = new byte[(int) f.length()]; FileInputStream is = new FileInputStream(f); is.read(bytearray); OutputStream os = response.getOutputStream(); os.write(bytearray); os.flush(); } }

Dpto. de Informtica David Rodrguez drodriguez@tecsup.edu.pe

Pg. 6

Tecsup

Servlet API

4. Formularios HTML con Servlet


ingreso.html
<html> <body> <form action="RecuperaPostServlet" method="post"> Nombre : <input name="nombre" type="text"/> Apellidos:<input name="apellido" type="text"/> <input type="submit" name="aceptar" value="Aceptar"/> </form> </body> </html>

RecuperaPostServlet.java ... protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { // TODO Auto-generated method stub PrintWriter out = response.getWriter(); out.println("<html>"); out.println("<body>"); String nom = request.getParameter("nombre"); String ape = request.getParameter("apellido"); out.println("Bienvenido "+ nom +" "+ ape); out.println("</body>"); out.println("</html>"); out.close(); } ...

Dpto. de Informtica David Rodrguez drodriguez@tecsup.edu.pe

Pg. 7

Tecsup

Servlet API

Ejercicio: Realizar la siguiente aplicacin:

Conclusiones: Los servlets son Clases en Java que se ejecutan en el Servidor Tomcat. Los servlets atendern a los requerimientos HTTP. En la presente sesin, se detall la estructura de los servlets, donde colocarlos para desplegarlos y, finalmente, cmo ejecutarlos.

Dpto. de Informtica David Rodrguez drodriguez@tecsup.edu.pe

Pg. 8

Вам также может понравиться