servlets j2ee proyecto web eclipse

2

Por admin | Para la categoría de java j2ee | noticia del 21-07-2009

Vamos a crear un proyectos web dinámico al igual que haciamos con los beans, nos vamos a “file, new ,Other, Web y por último Dinamic Web project” nos aparece el siguiente cuadro de diálogo.

Le damos al proyecto un nombre cualquiera, en este caso se ha puesto “servletprueba”

proyecto

Creamos nuevo servlet, para ello seleccionamos el proyecto recien creado con eclipse y vamos a “new servlet” como podemos ver en la siguiente imagen.
servlet1



Nos aparece el siguiente cuadro de diálogo
servlet2
Hemos creado al mismo tiempo el package “primero” junto con el nombre de la clase servlet “Prueba” podríamos haber creado primero el package y dentro el servlet también. Una vez rellanado estos campos pulsamos sobre el botón “finish” y nos aparece el siguiente código correspondiente al nuevo servlet recien creado.
servlet3
Como podemos observar en la creación del servlet en eclipse se genera un una clase con dos métodos doget y dopost.

Los servlets usan las interfaces del paquete “javax.servlet” que contiene clases genéricas de servlet y del paquete “javax.servlet.http” para la funcionalidad del protocolo http.

Cada servlet sobreescribe un método service que recibe dos parámetros que son los objetos de tipo “request” y “response” es decir, un objeto de petición y otro de respuesta.

Los servletshttp ya tienen un método service que llama a los dos métodos doget y el dopost ambos tienen los objetos “request” y “response”.

¿Cuando intervienen estos métodos?

Cuando hemos creado un formulario y vamos a pasar los datos del mismo por “post” al servidor interviene el método “dopost”, si por el contrario hacemos una petición al servlet desde un enlace “link” o bien desde un formulario por “method get” o el escribir una dirección url, interviene entonces el método “doget”

De tal forma que se produce una petición por parte de la aplicación a un servlet, dicha petición será recogida por alguno de los dos métodos del servlet mediante el objeto “request” y después será envianda la respuesta mediante el objeto “response”.

Un servlet http puede responder a múltiples clientes simultáneamente, los atributos de sesión y static pueden ser accedidos por múltimples hilos simultáneamente.

El objeto de la clase httpServletRequest encapsula los datos enviados del cliente al servidor y el objeto httpServletResponse los datos enviados del servidor al cliente. El objeto HttpServelResponse proporciona dos formas de retornar los datos la primera mediante un objeto PrintWriter devuelto por el método getWriter y la segunda mediante un objeto ServletOutputStream devuelto por el método getOutputStream.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
package primero;
 
import java.io.IOException;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.PrintWriter;
 
/**
 * Servlet implementation class for Servlet: Prueba
 *
 */
 public class Prueba extends javax.servlet.http.HttpServlet implements javax.servlet.Servlet {
   static final long serialVersionUID = 1L;
 
    /* (non-Java-doc)
	 * @see javax.servlet.http.HttpServlet#HttpServlet()
	 */
	public Prueba() {
		super();
	}   	
 
	/* (non-Java-doc)
	 * @see javax.servlet.http.HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
	 */
	protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		// TODO Auto-generated method stub
 
		//utilizamos el objeto de respuesta creado automáticamente por eclipse
 
		response.setContentType("text/html");
 
		//estamos indicando que la salida va a ser de tipo html
 
		PrintWriter salida = response.getWriter();
 
		salida.println("<html>");
		salida.println("<head>");
		salida.println("<title> Primer Servlet prueba </title>");
		salida.println("<body>");
		salida.println("<p style='color:f22; font-size:18px; text-align:center'> Primer Servel Prueba </p>");
		salida.println("</body>");
		salida.println("</html>");
 
		//cerramos el objeto de salida
		salida.close();
 
	}  	
 
	/* (non-Java-doc)
	 * @see javax.servlet.http.HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
	 */
	protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		// TODO Auto-generated method stub
 
	}   	  	    
}

Salida por pantalla del nuevo servlet creado
servletprueba

Las aplicaciones jee tienen un fichero descriptor de despliegue dentro del directorio webinf llamado web.xml

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
<?xml version="1.0" encoding="UTF-8"?>
<web-app id="WebApp_ID" version="2.4" xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">
	<display-name>
	servletprueba</display-name>
	<servlet>
		<description>
		</description>
		<display-name>
		Prueba</display-name>
		<servlet-name>Prueba</servlet-name>
		<servlet-class>
		primero.Prueba</servlet-class>
	</servlet>
	<servlet-mapping>
		<servlet-name>Prueba</servlet-name>
		<url-pattern>/Prueba</url-pattern>
	</servlet-mapping>
	<welcome-file-list>
		<welcome-file>index.html</welcome-file>
		<welcome-file>index.htm</welcome-file>
		<welcome-file>index.jsp</welcome-file>
		<welcome-file>default.html</welcome-file>
		<welcome-file>default.htm</welcome-file>
		<welcome-file>default.jsp</welcome-file>
	</welcome-file-list>
</web-app>

Este fichero normalmente lo genera Eclipse pero puede que algunas veces tengamos que modificarlo a mano porque en el proceso de creación del servlet no lo incluyo por lo que al ejecutar la aplicación no lo encotrará y en ese caso tenemos que modificarlo a mano.

nos presenta una serie de nombres de ficheros html y jsp que pueden ser el origen de la aplicación por defecto, en este proyecto no tenemos ningún fichero de estos.

Cuando hemos creado new servlet con eclipse automáticamente “si no falla” se crea los tags para descripción del servlet creado

servletprueba nombre del proyecto
breve descripción del servlet
primero.Prueba Nombre de la clase java del servlet
/Prueba hace referencia a la ruta del servlet el host/Prueba

Seguiremos con más ejemplos un saludo a todos…

Comentarios (2)

Hola, pregunta tal vez fuera de lugar …. existe alguna herramienta capaz de crear un diagrama de la secuencia de un proyecto realizado en eclipse usando webapp y jsp

Lo que quiero es poder visualizar asi como un diagrama de clases….. la secuencia de las paginas y dentro de cada una de ellas que clases usan …..
gracias…….

Site web http://quebonitoesaprender.wordpress.com

Eclipse tiene un plugin de uml, generación de diferentes diagramas, pero no lo he utilizado ya que hace tiempo tuve la necesidad de tener que hacer esas cosas y utilice “rational rose”, una herramienta no gratuita facilitada por mi centro de estudios, y la utilicé para un proyecto en actionscript2.0

El plugin de eclipse es uml2 en la web de adictos al trabajo tienen un tutorial de su utilización, está claro que es una herramienta de modelado, no dice si tiene la capacidad de generar automáticamente diagramas leyendo de la clases y proyecto jee

En la web omondo tienen una herramienta para eclipse, por el diagrama de la aplicación indica aplicaciones java y jee
omondo

Lo siento no poder ayudarte más, y hacer unas pruebas de todo esto


Comentarios cerrados automáticamente al pasar más de un año