Conversor.java 3.13 KB
Newer Older
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
package servlets;

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;

/**
 * Servlet implementation class conversor_temperatura
 */
@WebServlet("/conversor_temperatura")
public class Conversor extends HttpServlet {
	private static final long serialVersionUID = 1L;
       
    /**
     * @see HttpServlet#HttpServlet()
     */
    public Conversor() {
        super();
        // TODO Auto-generated constructor stub
    }

	/**
	 * @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
	 */
	protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		PrintWriter pw = response.getWriter();
		pw.write("Hola desde el SERVLET. GET!");
	}

	/**
	 * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
	 */
	protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		
		
		String valorTemperatura = request.getParameter("valor");
		String tipoTemperatura = request.getParameter("tipo_temperatura");
		
		//Obtiene el writer de la respuesta y la guarda
		//en una variable "respuesta"
46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65
		PrintWriter respuesta = response.getWriter();
		
		//convertir el valor a double
		double valorTemperaturaDouble;

		try {
			valorTemperaturaDouble = Double.parseDouble(valorTemperatura);
		}catch(Exception e){
			respuesta.println("<!DOCTYPE html>");
			respuesta.print("<html>");
			respuesta.println("<head>");
			respuesta.println("<meta charset=\"UTF-8\">");
			respuesta.println("<title>Convertidor!</title>");
			respuesta.println("</head>");
			respuesta.println("<body>");
			respuesta.println("El valor introducido no es valido" );
			respuesta.println("</body>");
			respuesta.println("</html>");
			return;
		}
66
		
67 68
		//si todo salió bien, va a llegar a esta linea
		valorTemperaturaDouble = Double.parseDouble(valorTemperatura);
69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106
		
		double celsius=0;
		double fahrenheit=0;
		double kelvin=0;

		if(tipoTemperatura.equals("c")) {
			celsius = valorTemperaturaDouble;
			fahrenheit = (celsius * 1.8) + 32;
			kelvin = (celsius + 273.15);
		}
		else if(tipoTemperatura.equals("k")) {
			kelvin = valorTemperaturaDouble;
			celsius = (kelvin-273.15);
			fahrenheit = (celsius * 1.8) + 32;
		}
		else if(tipoTemperatura.equals("f")) {
			fahrenheit = valorTemperaturaDouble;
			celsius = (fahrenheit-32) / 1.8;
			kelvin = (celsius + 273.15);
		}

		respuesta.println("<!DOCTYPE html>");
		respuesta.print("<html>");
		respuesta.println("<head>");
		respuesta.println("<meta charset=\"UTF-8\">");
		respuesta.println("<title>Convertidor!</title>");
		respuesta.println("</head>");
		respuesta.println("<body>");
		respuesta.println("En grados Celsius: " + celsius);
		respuesta.println("<br>");
		respuesta.println("En grados Fharenheit: " + fahrenheit);
		respuesta.println("<br>");
		respuesta.println("En grados kelvin: " + kelvin);
		respuesta.println("</body>");
		respuesta.println("</html>");
	}

}