学完了Servlet和JSP的章节后,虽然也写了一些管理系统,偶然间看到计算器这个词,于是便动手写一下,因为回想起当初让我用js写个这个我都不会

首先新建一个项目,项目结构图下所示,我习惯用maven创建项目,这样节省不少时间

 导入一下所需要的依赖jar包,scope注意填写是provided范围

        <dependency>
            <groupId>javax.servlet</groupId>
            <artifactId>javax.servlet-api</artifactId>
            <version>3.1.0</version>
            <!--            此依赖和tomcat中的包冲突,如果要运行,需要将范围变成provide-->
            <scope>provided</scope>
        </dependency>

        <dependency>
            <groupId>javax.servlet.jsp</groupId>
            <artifactId>jsp-api</artifactId>
            <version>2.2</version>
            <scope>provided</scope>
        </dependency>

        <dependency>
            <groupId>jstl</groupId>
            <artifactId>jstl</artifactId>
            <version>1.2</version>
        </dependency>

        <dependency>
            <groupId>taglibs</groupId>
            <artifactId>standard</artifactId>
            <version>1.1.2</version>
        </dependency>

 写一个简单的JSP页面

<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<!DOCTYPE html>
<html>
  <head>
    <title>$Title$</title>
  </head>
  <body>
  <form method="post" action="/calcular/Servlet" name="cal">
    <input type="number" placeholder="输入数字" id="a" name="a" value="${a}">
    +
    <input type="number" placeholder="输入数字" id="b" name="b" value="${b}">
    <button id ="d" type="submit">=</button>
    <input type="text" id="c" name="c" value="${d}">
  </form>
  </body>
</html>

 创建一个Servlet类,把请求获取到的参数转换成整型后再相加,最后封装到request请求中,请求转发到我们的JSP页面

import javax.servlet.*;
import javax.servlet.http.*;
import javax.servlet.annotation.*;
import java.io.IOException;

@WebServlet("/Servlet")
public class Servlet extends HttpServlet {
    @Override
    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        String a = request.getParameter("a");
        String b = request.getParameter("b");

        Integer c = Integer.valueOf(a) + Integer.valueOf(b);
        String d  = Integer.toString(c);

        request.setAttribute("d",d);
        request.setAttribute("a",a);
        request.setAttribute("b",b);
        request.getRequestDispatcher("index.jsp").forward(request,response);
    }

    @Override
    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        this.doGet(request, response);
    }
}

运行tomcat服务器,验证结果 

 

 好啦,一个简单的web计算器就做好啦!

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐