Download Ejemplos de Servlet y JSP

Document related concepts
no text concepts found
Transcript
Ejemplos de
Servlet y JSP
Web Application
Development
HERNÁNDEZ CRUZ DULCE
13/09/2011
INTRODUCCIÓN
Servlets
Los Servlets son módulos que extienden los servidores orientados a petición-respuesta, como los
servidores web compatibles con Java. Por ejemplo, un servlet podría ser responsable de tomar los
datos de un formulario de entrada de pedidos en HTML y aplicarle la lógica de negocios utilizada
para actualizar la base de datos de pedidos de la compañia.
Los Servlets son para los servidores lo que los applets son para los navegadores. Sin embargo, al
contrario que los applets, los servlets no tienen interface gráfico de usuario.
Los servelts pueden ser incluidos en muchos servidores diferentes porque el API Servlet, el que se
utiliza para escribir Servlets, no asume nada sobre el entorno o protocolo del servidor.
Usos de servlets


Permitir la colaboración entre la gente. Un servlet puede manejar múltiples peticiones
concurrentes, y puede sincronizarlas. Esto permite a los servlets soportar sistemas como
conferencias on-line
Reenviar peticiones. Los Servlets pueden reenviar peticiones a otros servidores y servlets.
Con esto los servlets pueden ser utilizados para cargar balances desde varios servidores que
reflejan el mismo contenido, y para particionar un único servicio lógico en varios servidores,
de acuerdo con los tipos de tareas o la organización compartida.
JSP
JSP es un acrónimo de Java Server Pages, que en castellano vendría a decir algo como Páginas de
Servidor Java. Es, pues, una tecnología orientada a crear páginas web con programación en Java.
Con JSP podemos crear aplicaciones web que se ejecuten en variados servidores web, de múltiples
plataformas, ya que Java es en esencia un lenguaje multiplataforma. Las páginas JSP están
compuestas de código HTML/XML mezclado con etiquetas especiales para programar scripts de
servidor en sintaxis Java. Por tanto, las JSP podremos escribirlas con nuestro editor HTML/XML
habitual.
Ejecución del ejemplo de Servlet “HolaMundo”
Se ejecutó el siguiente Hola Mundo utilizando servlets.
import java.io.*;
import javax.servlet.*;
import javax.servlet.http.*;
public class HolaMundo extends HttpServlet{
protected void procesarPeticion(HttpServletRequest req, HttpServletResponse res)
throws ServletException, IOException{
res.setContentType("text/html");
PrintWriter out = res.getWriter();
out.println("<html>");
out.println("<head>");
out.println("<title>Servlet HolaMundo</title>");
out.println("</head>");
out.println("<body>");
out.println("<h1>Hola Mundo</h1>");
out.println("</body>");
out.println("</html>");
out.close();
}
protected void doGet(HttpServletRequest req, HttpServletResponse res)
throws ServletException, IOException {
procesarPeticion(req,res);
}
protected void doPost(HttpServletRequest req, HttpServletResponse res)
throws ServletException, IOException {
procesarPeticion(req,res);
}
public String getServletInfo(){
return "Servlet HolaMundo";
}
}
Se inicia el servidor de Tomcat para poder ejecutar el servlet, en el navegador se coloca la
dirección: http://localhost:8080/pruebas/HolaMundo
JSP
En este programa, se imprime 5 veces “Hola ESCOM”, en este caso solo se escribe en el navegador
la dirección donde se encuentra el archivo .JSP, seguido de su nombre:
http://localhost:8080/Hola.jsp
<%-- Programa básico JSP --%>
<html>
<body>
<%! int veces = 5; %>
<% for(int i = 0; i < veces; i++) out.println("Hola ESCOM!<br/>"); %>
<%-- Este es un comentario --%>
<%= "IPN" %>
</body>
</html>
Las etiquetas anteriores se pueden cambiar por las siguientes, y el programa muestra el mismo
resultado:
<html>
<body>
<jsp:declaration>int veces=5;</jsp:declaration>
<jsp:scriptlet>for(int i=0;i<veces;i++) out.println("Hola ESCOM!!");</jsp:scriptlet>
<%-- Este es un comentario --%>
<jsp:expression>IPN</jsp:expression>
</body>
</html>
Applet y JSP
En el siguiente ejemplo se ejecutó el archivo de Hola.jsp incluyendo un applet, esto se logra con la
etiqueta <jsp:plugin type="applet" code="Examen.class" width="700" height="600"/>
<%-- Programa básico JSP --%>
<html>
<body>
<%! int veces = 5; %>
<% for(int i = 0; i < veces; i++) out.println("Hola ESCOM!<br/>"); %>
<%-- Este es un comentario --%>
<%= "IPN" %>
<jsp:plugin type="applet" code="Examen.class" width="700" height="600"/>
</body>
</html>