You are on page 1of 15

Instituto Tecnolgico de

Mexicali

Asignatura:
SOA
Profesor:
Juan Francisco Ibaez Salas
Practica
Servlet
Alumno:
Erick Ziga Higuera
Fecha:
09 de Mayo de 2015

El servicio web realizado para la prctica es un conversor de unidades, el cual transforma


de kilogramos a slugs, as tambin como de metros a pies y newtons a libras.

El servicio web se conforma de tres proyectos, los cuales son:

Para que nuestro servicio web funcione es necesario crear los proyectos Servidor y
Cliente, por lo cual dentro del IDE Netbeans se tendr que crear el proyecto, as que
creamos un nuevo proyecto y seleccionamos Java Web>Web Application y presionamos
el botn Next

Ya realizado lo anterior ser necesario darle un nombre a nuestro proyecto, en este caso
ser Servidor, ya que es el primer proyecto a crear.

en cuanto a el proyecto conversor de unidades este realizara las operaciones dentro del
servidor, por lo cual es necesario que dicho proyecto este importado en l, en cuanto el
servidor solo servir de intermediario con el usuario para atender su peticin y regresar
los resultados de las operaciones.

Como se menciono con anterioridad es necesario importarlo en la parte de las libreras del
proyecto Servidor.

Lo siguiente a hacer es crear un paquete que se llame servicios dentro de la carpeta


source package, el cual contendr una clase JAVA con las operaciones de nuestro
servicio web.

Ahora crearemos el servicio Web dentro de la carpeta Web Services.

Una vez creado el web service podremos ver lo siguiente:

Al crear el web service dentro de la carpeta Web Services, se crea automticamente una
clase JAVA con el mismo nombre dentro del paquete servicios; lo siguiente a realizar es
eliminar la operacin que tiene el web service creado por default y agregar los del
proyecto conversor de unidades.

Ya una vez eliminado la operacin que se tiene por default se agregaran las operaciones
del conversor de unidades de la siguiente manera:
Cambiamos del modo Design a modo source

Una vez en source podremos copiar el siguiente cdigo:


import javax.jws.WebService;
import javax.jws.WebMethod;
import javax.jws.WebParam;
import lib.Conversiones;
@WebService(serviceName = "Servidor")
public class Servidor {
@WebMethod(operationName = "KGaSLUGS")
public double KGaSLUGS(@WebParam(name = "KG") double KG) {
//TODO write your implementation code here:
return Conversiones.getSlug(KG);
}
@WebMethod(operationName = "MtsaPies")
public double MtsaPies(@WebParam(name = "MtsaPies") double MtsaPies) {
//TODO write your implementation code here:
return Conversiones.getPies(MtsaPies);
}
/**
* Web service operation
*/
@WebMethod(operationName = "NewtonsaLibras")
public double NewtonsaLibras(@WebParam(name = "NewtonsaLibras") double
NewtonsaLibras) {
//TODO write your implementation code here:
return Conversiones.getLibras(NewtonsaLibras);
}
}

Lo anterior nos servir para poder realizar las operaciones dentro del servlet, las cuales
las toma del proyecto Conversor de unidades.
Ahora debemos crear una nueva aplicacin web, pero esta vez la llamaremos Cliente.

En dicha aplicacin web haremos lo siguiente:


a) Dentro de la carpeta Web Pages existe un archivo llamado index.html, as que lo
abriremos y escribiremos el siguiente cdigo:

El cdigo anterior es un formulario, el cual recibir el valor de las unidades a transformar


y nos enva un resultado de dicha operacin.
b) Dentro de la carpeta Source Package crearemos los siguientes paquetes:

c) Crear un Web Service de referencia dentro de la Cliente

Lo anterior dar como resultado lo siguiente:

d) Crear dentro del paquete service una clase JAVA llamada WService, la cual
contendra el siguiente cdigo:

public static double kGaSLUGS(double kg) {


servicios.Servidor_Service service = new servicios.Servidor_Service();
servicios.Servidor port = service.getServidorPort();
return port.kGaSLUGS(kg);
}
public static double mtsaPies(double mtsaPies) {
servicios.Servidor_Service service = new servicios.Servidor_Service();
servicios.Servidor port = service.getServidorPort();
return port.mtsaPies(mtsaPies);
}
public static double newtonsaLibras(double newtonsaLibras) {
servicios.Servidor_Service service = new servicios.Servidor_Service();
servicios.Servidor port = service.getServidorPort();
return port.newtonsaLibras(newtonsaLibras);
}
e) Crear dentro del paquete uno tres clases JAVA llamadas WService, la cual contendra
el siguiente cdigo:

KGaSLUGS
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;
import service.WService;
@WebServlet(name = "KGaSLUGS", urlPatterns = {"/KGaSLUGS"})
public class KGaSLUGS extends HttpServlet {
protected
void
processRequest(HttpServletRequest
request,
HttpServletResponse response)
throws ServletException, IOException {
response.setContentType("text/html;charset=UTF-8");
try (PrintWriter out = response.getWriter()) {
/* TODO output your page here. You may use following
sample code. */
out.println("<!DOCTYPE html>");
out.println("<html>");
out.println("<head>");
out.println("<title>Servlet KGaSLUGS</title>");
out.println("</head>");
out.println("<body>");
double
KG=Double.parseDouble(request.getParameter("KG"));
double SLUGS=WService.kGaSLUGS(KG);
out.println(KG+" Kilogramos son: "+SLUGS+" slugs");
out.println("</body>");
out.println("</html>");
}
}

MtsaPies
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;
import service.WService;
@WebServlet(name = "MtsaPies", urlPatterns = {"/MtsaPies"})
public class MtsaPies extends HttpServlet {
protected
void
processRequest(HttpServletRequest
request,
HttpServletResponse response)
throws ServletException, IOException {
response.setContentType("text/html;charset=UTF-8");
try (PrintWriter out = response.getWriter()) {
/* TODO output your page here. You may use following sample code. */
out.println("<!DOCTYPE html>");
out.println("<html>");
out.println("<head>");
out.println("<title>Servlet MtsaPies</title>");
out.println("</head>");
out.println("<body>");
double MT=Double.parseDouble(request.getParameter("MT"));
double PIES=WService.mtsaPies(MT);
out.println(MT+" Metros son: "+PIES+" pies");
out.println("</body>");
out.println("</html>");
}
}

NewtonsaLibras
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;
import service.WService;
@WebServlet(name
=
"NewtonsaLibras",
{"/NewtonsaLibras"})
public class NewtonsaLibras extends HttpServlet {

urlPatterns

protected
void
processRequest(HttpServletRequest
request,
HttpServletResponse response)
throws ServletException, IOException {
response.setContentType("text/html;charset=UTF-8");
try (PrintWriter out = response.getWriter()) {
/* TODO output your page here. You may use following
sample code. */
out.println("<!DOCTYPE html>");
out.println("<html>");
out.println("<head>");
out.println("<title>Servlet NewtonsaLibras</title>");
out.println("</head>");
out.println("<body>");
double
N=Double.parseDouble(request.getParameter("N"));
double LIBRAS=WService.newtonsaLibras(N);
out.println(N+" Newtons son: "+LIBRAS+" libras");
out.println("</body>");
out.println("</html>");
}
}
f)

Una vez realizado los pasos anteriores debemos correr los index.html del servidor y
del cliente, para que estos se publiquen y puedan ser usados correctamente.

Ya que se corran ambos archivos html podremos ver lo siguiente:

You might also like