Skip to content

Instantly share code, notes, and snippets.

@petehouston
Created October 3, 2020 05:19
Show Gist options
  • Save petehouston/299b73de21f8377e64838f777c96b804 to your computer and use it in GitHub Desktop.
Save petehouston/299b73de21f8377e64838f777c96b804 to your computer and use it in GitHub Desktop.
Calculator Servlet
package com.java;
import java.io.IOException;
import java.io.PrintWriter;
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;
import javax.servlet.http.HttpSession;
public class Calculator extends HttpServlet {
private static final long serialVersionUID = 1L;
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
String num1 = request.getParameter("num1");
String num2 = request.getParameter("num2");
String op = request.getParameter("op");
String result = "";
int a, b;
try {
a = Integer.parseInt(num1);
b = Integer.parseInt(num2);
if (op.equals("+")) {
result = String.valueOf(a + b);
} else if (op.equals("-")) {
result = String.valueOf(a - b);
} else if (op.equals("*")) {
result = String.valueOf(a * b);
} else if (op.equals("/")) {
if (b == 0) {
result = "";
} else {
result = String.valueOf(a / b);
}
} else {
op = "";
result = "";
}
} catch (NumberFormatException ex) {
op = "";
num1 = "";
num2 = "";
result = "";
}
PrintWriter out = response.getWriter();
out.write(
"<html>" +
"<body>" +
"<h1>Simple Calculator</h1>" +
"<form action='/calculator' method='get'>" +
"<input type='text' name='num1' value='" + num1 + "' />" +
"<input type='text' name='op' value='" + op + "' />" +
"<input type='text' name='num2' value='" + num2 + "' />" +
"=" +
"<input type='text' name='result' value='" + result + "' />" +
"<input type='submit' value='Submit' />" +
"</form>" +
"</body>" +
"</html>"
);
}
}
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_4_0.xsd"
version="4.0">
<display-name>Calculator</display-name>
<welcome-file-list>
<welcome-file>index.html</welcome-file>
</welcome-file-list>
<servlet>
<servlet-name>calculator</servlet-name>
<servlet-class>com.java.Calculator</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>calculator</servlet-name>
<url-pattern>/calculator</url-pattern>
</servlet-mapping>
</web-app>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment