package servlet; import java.io.IOException; import java.io.PrintWriter; import java.util.ArrayList; import javax.servlet.RequestDispatcher; 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 ConversorServlet */ @WebServlet("/ConversorServlet") public class ConversorServlet extends HttpServlet { private static final long serialVersionUID = 1L; /** * @see HttpServlet#HttpServlet() */ public ConversorServlet() { super(); // TODO Auto-generated constructor stub } /** * @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response) */ protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { // TODO Auto-generated method stub response.getWriter().append("Served at: ").append(request.getContextPath()); } /** * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response) */ protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { // TODO Auto-generated method stub doGet(request, response); ArrayListresultado= new ArrayList(); try { if(request.getParameter("P1")!=null && request.getParameter("P0")!=null) { System.out.println(request.getParameter("P0").toString()); String p0= request.getParameter("P0").toString(); if(!"c".equals(p0)|| !"k".equals(p0)|| !"f".equals(p0)) { request.setAttribute("resultado", "valor de palo no esperado"); RequestDispatcher rd = request.getRequestDispatcher("Error.jsp"); if (rd != null) { rd.forward(request, response); } } resultado = convertidor(request.getParameter("P0").toString(),Float.parseFloat(request.getParameter("P1"))); System.out.println("aca llego"); request.setAttribute("P0", request.getParameter("P0")); request.setAttribute("P1", request.getParameter("P1")); request.setAttribute("resultado", resultado); }else { request.setAttribute("resultado", "Parametros nulos"); RequestDispatcher rd = request.getRequestDispatcher("Error.jsp"); if (rd != null) { rd.forward(request, response); } } } catch (Exception e) { // TODO: handle exception System.out.println("exploto"); request.setAttribute("resultado", "el valor no es numerico"); RequestDispatcher rd = request.getRequestDispatcher("Error.jsp"); if (rd != null) { rd.forward(request, response); } /*PrintWriter respuesta= response.getWriter(); respuesta.println(""); respuesta.print(""); respuesta.println(""); respuesta.println(""); respuesta.println("Convertidor!"); respuesta.println(""); respuesta.println(""); respuesta.println("El valor introducido no es valido" ); respuesta.println(""); respuesta.println(""); return;*/ } finally { RequestDispatcher rd = request.getRequestDispatcher("/ConversorResultado.jsp"); if (rd != null) { rd.forward(request, response); } PrintWriter respuesta=response.getWriter(); respuesta.println(""); respuesta.print(""); respuesta.println(""); respuesta.println(""); respuesta.println("Convertidor!"); respuesta.println(""); respuesta.println(""); respuesta.println("En grados Celsius: " + resultado.get(0) ); respuesta.println("
"); respuesta.println("En grados Fharenheit: " + resultado.get(1)); respuesta.println("
"); respuesta.println("En grados kelvin: " + resultado.get(2)); respuesta.println(""); respuesta.println(""); } } protected ArrayList convertidor(String tipo_temperatura, Float temperatura) { ArrayList resultado= new ArrayList(); resultado.add((float) 0); resultado.add((float) 0); resultado.add((float) 0); if(tipo_temperatura.toLowerCase().equals("c") ) { resultado.clear(); resultado.add(temperatura); resultado.add((float) ((temperatura * 9/5) + 32)); resultado.add((float) (temperatura + 273.15)); } if(tipo_temperatura.toLowerCase().equals("f")) { resultado.clear(); resultado.add((float)((temperatura - 32) * 5/9)); resultado.add(temperatura); resultado.add((float)((temperatura - 32) * 5/9 + 273.15 )); } if(tipo_temperatura.toLowerCase().equals("k")) { resultado.clear(); resultado.add((float)(temperatura - 273.15)); resultado.add((float)((temperatura - 273.15) * 9/5 + 32)); resultado.add(temperatura); } for(Float item: resultado) { System.out.println("asdasdasd"); System.out.println(item); } return resultado; } }