Commit 831573fc by Patryk Czarnik

kalkulator4: rozróżnienie GET i POST

parent c84abab8
...@@ -61,9 +61,9 @@ public class Kalkulator2 extends HttpServlet { ...@@ -61,9 +61,9 @@ public class Kalkulator2 extends HttpServlet {
} catch(Exception e) { } catch(Exception e) {
out.printf("<div class='error'>Błąd: %s</div>\n", e.getMessage()); out.printf("<div class='error'>Błąd: %s</div>\n", e.getMessage());
} }
out.println("</body>");
out.println("</html>");
} }
out.println("</body>");
out.println("</html>");
} }
} }
...@@ -61,9 +61,9 @@ public class Kalkulator3 extends HttpServlet { ...@@ -61,9 +61,9 @@ public class Kalkulator3 extends HttpServlet {
} catch(Exception e) { } catch(Exception e) {
out.printf("<div class='error'>Błąd: %s</div>\n", e.getMessage()); out.printf("<div class='error'>Błąd: %s</div>\n", e.getMessage());
} }
out.println("</body>");
out.println("</html>");
} }
out.println("</body>");
out.println("</html>");
} }
@Override @Override
......
...@@ -9,8 +9,6 @@ import javax.servlet.http.HttpServlet; ...@@ -9,8 +9,6 @@ import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpServletResponse;
import org.apache.commons.lang3.StringUtils;
@WebServlet("/Kalkulator4") @WebServlet("/Kalkulator4")
public class Kalkulator4 extends HttpServlet { public class Kalkulator4 extends HttpServlet {
private static final long serialVersionUID = 1L; private static final long serialVersionUID = 1L;
...@@ -38,32 +36,8 @@ public class Kalkulator4 extends HttpServlet { ...@@ -38,32 +36,8 @@ public class Kalkulator4 extends HttpServlet {
out.println("<input type='number' name='liczba2'>"); out.println("<input type='number' name='liczba2'>");
out.println("<button>Oblicz</button>"); out.println("<button>Oblicz</button>");
out.println("</form>"); out.println("</form>");
out.println("</body>");
String param1 = request.getParameter("liczba1"); out.println("</html>");
String param2 = request.getParameter("liczba2");
String operacja = request.getParameter("operacja");
if(StringUtils.isNoneBlank(param1, param2, operacja)) {
try {
long liczba1 = Long.parseLong(param1);
long liczba2 = Long.parseLong(param2);
long wynik = switch(operacja) {
case "+" -> liczba1 + liczba2;
case "-" -> liczba1 - liczba2;
case "*" -> liczba1 * liczba2;
case "/" -> liczba1 / liczba2;
default -> throw new IllegalArgumentException("Nieznane działanie: " + operacja);
};
out.printf("<div class='wynik'>%d %s %d = <strong>%d</strong></div>\n",
liczba1, operacja, liczba2, wynik);
} catch (NumberFormatException e) {
out.printf("<div class='error'>Niepoprawny format liczby</div>\n");
} catch(Exception e) {
out.printf("<div class='error'>Błąd: %s</div>\n", e.getMessage());
}
out.println("</body>");
out.println("</html>");
}
} }
@Override @Override
...@@ -94,27 +68,25 @@ public class Kalkulator4 extends HttpServlet { ...@@ -94,27 +68,25 @@ public class Kalkulator4 extends HttpServlet {
String param2 = request.getParameter("liczba2"); String param2 = request.getParameter("liczba2");
String operacja = request.getParameter("operacja"); String operacja = request.getParameter("operacja");
if(StringUtils.isNoneBlank(param1, param2, operacja)) { try {
try { long liczba1 = Long.parseLong(param1);
long liczba1 = Long.parseLong(param1); long liczba2 = Long.parseLong(param2);
long liczba2 = Long.parseLong(param2); long wynik = switch(operacja) {
long wynik = switch(operacja) { case "+" -> liczba1 + liczba2;
case "+" -> liczba1 + liczba2; case "-" -> liczba1 - liczba2;
case "-" -> liczba1 - liczba2; case "*" -> liczba1 * liczba2;
case "*" -> liczba1 * liczba2; case "/" -> liczba1 / liczba2;
case "/" -> liczba1 / liczba2; default -> throw new IllegalArgumentException("Nieznane działanie: " + operacja);
default -> throw new IllegalArgumentException("Nieznane działanie: " + operacja); };
}; out.printf("<div class='wynik'>%d %s %d = <strong>%d</strong></div>\n",
out.printf("<div class='wynik'>%d %s %d = <strong>%d</strong></div>\n", liczba1, operacja, liczba2, wynik);
liczba1, operacja, liczba2, wynik); } catch (NumberFormatException e) {
} catch (NumberFormatException e) { out.printf("<div class='error'>Niepoprawny format liczby</div>\n");
out.printf("<div class='error'>Niepoprawny format liczby</div>\n"); } catch(Exception e) {
} catch(Exception e) { out.printf("<div class='error'>Błąd: %s</div>\n", e.getMessage());
out.printf("<div class='error'>Błąd: %s</div>\n", e.getMessage());
}
out.println("</body>");
out.println("</html>");
} }
out.println("</body>");
out.println("</html>");
} }
} }
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment