JSP 頁面 (index.jsp)
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Servlet 計算機</title>
</head>
<body>
<form action="TestJSQ" method="post">
<input type="text" name="shu1" placeholder="運算元1" />
<input type="text" name="yunsuan" placeholder="運算符 (+ - * / %)" />
<input type="text" name="shu2" placeholder="運算元2" />
<input type="submit" value="="/>
</form>
</body>
</html>
Servlet 程式 (Test_JSQ.java)
package com.sp.web;
import java.io.IOException;
import javax.servlet.*;
import javax.servlet.http.*;
public class Test_JSQ extends HttpServlet {
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp)
throws ServletException, IOException {
resp.setCharacterEncoding("UTF-8");
resp.setContentType("text/html;charset=UTF-8");
double num1 = Double.parseDouble(req.getParameter("shu1"));
double num2 = Double.parseDouble(req.getParameter("shu2"));
String op = req.getParameter("yunsuan");
double result = 0;
switch (op) {
case "+": result = num1 + num2; break;
case "-": result = num1 - num2; break;
case "*": result = num1 * num2; break;
case "/":
if (num2 != 0) {
result = num1 / num2;
} else {
resp.getWriter().write("除數不能為零");
return;
}
break;
case "%": result = num1 % num2; break;
default:
resp.getWriter().write("不支援的運算符");
return;
}
resp.getWriter().write(num1 + " " + op + " " + num2 + " = " + result);
}
@Override
protected void doPost(HttpServletRequest req, HttpServletResponse resp)
throws ServletException, IOException {
doGet(req, resp);
}
}
web.xml 註冊
<servlet>
<servlet-name>TestJSQ</servlet-name>
<servlet-class>com.sp.web.Test_JSQ</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>TestJSQ</servlet-name>
<url-pattern>/TestJSQ</url-pattern>
</servlet-mapping>
運行效果截圖







