编写JavaWeb程序-计算器

1. 整体流程

以下是编写JavaWeb程序-计算器的整体流程:

步骤 描述
1 创建一个JavaWeb项目
2 创建一个Servlet类
3 在web.xml中配置Servlet
4 创建一个JSP页面
5 在JSP页面中编写前端代码
6 在Servlet中编写后端代码

2. 具体步骤及代码解释

2.1 创建一个JavaWeb项目

首先,你需要在你的开发环境中创建一个JavaWeb项目。你可以使用Eclipse、IntelliJ IDEA或其他JavaWeb开发工具来完成这一步。创建项目时,选择创建一个新的JavaWeb项目,然后按照向导进行操作。

2.2 创建一个Servlet类

在创建好项目后,你需要创建一个Servlet类来处理计算器的逻辑。在项目的src目录下创建一个新的Java类,命名为CalculatorServlet。以下是一个示例的CalculatorServlet类:

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

public class CalculatorServlet extends HttpServlet {
    
    @Override
    protected void doPost(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {
        
        // 从请求参数中获取输入的数字和操作符
        int num1 = Integer.parseInt(request.getParameter("num1"));
        int num2 = Integer.parseInt(request.getParameter("num2"));
        String operator = request.getParameter("operator");
        
        int result = 0;
        
        // 根据操作符计算结果
        switch (operator) {
            case "+":
                result = num1 + num2;
                break;
            case "-":
                result = num1 - num2;
                break;
            case "*":
                result = num1 * num2;
                break;
            case "/":
                result = num1 / num2;
                break;
        }
        
        // 将结果存储到请求的属性中
        request.setAttribute("result", result);
        
        // 转发到结果页面
        request.getRequestDispatcher("result.jsp").forward(request, response);
    }
}

在以上代码中,我们创建了一个继承自HttpServletCalculatorServlet类。在doPost方法中,我们首先从请求参数中获取用户输入的数字和操作符,然后根据操作符计算结果,并将结果存储到请求的属性中。

2.3 在web.xml中配置Servlet

在完成CalculatorServlet的编写后,我们需要在web.xml文件中配置该Servlet,以便Web容器能够正确地处理请求。打开web.xml文件,添加以下配置:

<servlet>
    <servlet-name>CalculatorServlet</servlet-name>
    <servlet-class>com.example.CalculatorServlet</servlet-class>
</servlet>
<servlet-mapping>
    <servlet-name>CalculatorServlet</servlet-name>
    <url-pattern>/calculate</url-pattern>
</servlet-mapping>

在以上配置中,我们指定了Servlet的名称和类路径,并将其映射到了一个URL模式/calculate

2.4 创建一个JSP页面

接下来,我们需要创建一个JSP页面来展示计算器的界面,并将用户输入的数据发送给Servlet进行计算。在项目的WebContent目录下创建一个新的JSP文件,命名为index.jsp。以下是一个示例的index.jsp文件:

<html>
<head>
    <title>Calculator</title>
</head>
<body>
    Calculator
    <form action="calculate" method="post">
        <input type="number" name="num1" placeholder="Number 1" required><br>
        <input type="number" name="num2" placeholder="Number 2" required><br>
        <select name="operator">
            <option value="+">+</option>
            <option value="-">-</option>
            <option value="*">*</option>
            <option value="/">/</option>
        </select><br>
        <input type="submit" value="Calculate">
    </form>
</body>
</html>

在以上代码中,我们创建了一个包含两个输入框(用于输入数字)和一个下拉菜单(用于选择操作符)的表单。表单的提交按钮被点击时,数据将被发送到/calculate路径,由Servlet进行处理。

2.5 在JSP页面中编写前端代码