Created
October 3, 2020 05:19
-
-
Save petehouston/299b73de21f8377e64838f777c96b804 to your computer and use it in GitHub Desktop.
Calculator Servlet
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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>" | |
); | |
} | |
} |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<?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