首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> Java 程式設計 >> Java 綜合教學

Servlet 簡易計算機實戰:JSP 前端表單 + Servlet 後端運算完整代碼

     編輯:Java 綜合教學

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>

運行效果截圖

加法運算結果

減法運算結果

乘法運算結果

除法運算結果

取模運算結果

除零錯誤提示

不支援運算符提示

介面截圖

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved