本示例使用 Servlet 实现一个简单的复数计算器,允许用户输入两个复数,并进行加、减、乘、除运算,最后将结果显示在网页上。

web.xml 配置

<?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'>

    <servlet>
        <servlet-name>ComplexNumberCalculator</servlet-name>
        <servlet-class>com.example.ComplexNumberCalculatorServlet</servlet-class>
    </servlet>

    <servlet-mapping>
        <servlet-name>ComplexNumberCalculator</servlet-name>
        <url-pattern>/complex-number-calculator</url-pattern>
    </servlet-mapping>

</web-app>

Servlet 实现

package com.example;

import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;

public class ComplexNumberCalculatorServlet extends HttpServlet {

    @Override
    protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        // 获取输入的复数
        ComplexNumber num1 = parseComplexNumber(req.getParameter('num1'));
        ComplexNumber num2 = parseComplexNumber(req.getParameter('num2'));

        // 计算加、减、乘、除
        ComplexNumber sum = num1.add(num2);
        ComplexNumber difference = num1.subtract(num2);
        ComplexNumber product = num1.multiply(num2);
        ComplexNumber quotient = num1.divide(num2);

        // 将结果放入request中
        req.setAttribute('num1', num1);
        req.setAttribute('num2', num2);
        req.setAttribute('sum', sum);
        req.setAttribute('difference', difference);
        req.setAttribute('product', product);
        req.setAttribute('quotient', quotient);

        // 转发到视图
        req.getRequestDispatcher('/result.jsp').forward(req, resp);
    }

    private ComplexNumber parseComplexNumber(String str) {
        String[] parts = str.split(',');
        double real = Double.parseDouble(parts[0]);
        double imaginary = Double.parseDouble(parts[1].substring(0, parts[1].length() - 1));
        return new ComplexNumber(real, imaginary);
    }
}

视图 result.jsp

<!DOCTYPE html>
<html>
<head>
    <title>Complex Number Calculator</title>
</head>
<body>

<form method='post' action='${pageContext.request.contextPath}/complex-number-calculator'>
    <label for='num1'>Complex Number 1:</label>
    <input type='text' name='num1' id='num1' />

    <label for='num2'>Complex Number 2:</label>
    <input type='text' name='num2' id='num2' />

    <button type='submit'>Calculate</button>
</form>

<c:if test='${not empty num1}'>
    <h2>Results:</h2>

    <p>Number 1: ${num1}</p>
    <p>Number 2: ${num2}</p>

    <p>Sum: ${sum}</p>
    <p>Difference: ${difference}</p>
    <p>Product: ${product}</p>
    <p>Quotient: ${quotient}</p>
</c:if>

</body>
</html>

以上代码仅供参考,实际代码可能会有所不同。

Java Servlet 实现复数计算器:加、减、乘、除运算

原文地址: http://www.cveoy.top/t/topic/nOiw 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录