10.20学习内容:网页小程序<计算器>的制作

目录

目录

目录

导图

思路

代码

HTML界面

Servlet界面

JSP界面

拓展

学习心得


导图

思路

 

代码

HTML界面

<body>
       <form action="OperServlet" method="get">
       num:<input type="text" name="num1"/><br>
       <select name="oper">
           <option>+</option>
           <option>-</option>
           <option>*</option>
           <option>÷</option>
       </select>
       num2:<input type="text" name="num2"/><br>
       </select>
    <input type="submit" value="计算">
   </form>
</body>

提供三个表单元素

 Num1  ->name=”num1”

 <select name=“opera”> +-*/

Num2  ->name=”num2”

Servlet界面

@WebServlet("/OperServlet")
public class OperServlet extends HttpServlet {
    @Override
    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {

        this.doPost(request,response);
    }

    @Override
    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
     Double num1=Double.parseDouble(request.getParameter("num1"));
     Double num2=Double.parseDouble(request.getParameter("num2"));

     String oper=request.getParameter("oper");
     Double result=0.0;
     switch (oper) {
         case "+":
             result = num1 + num2;
             break;
         case "-":
             result = num1 - num2;
             break;
         case "*":
             result = num1 * num2;
             break;
         case "÷":
            if(num2!=0){
             result=num1/num2;
         }else{
                System.out.println("除数不能为零");
            }
         default:
             System.out.println("计算出错!!!");
     }
         //共享结果到页面
        request.setAttribute("result",result);
     //转发到显示结果的页面
        request.getRequestDispatcher("/result.jsp").forward(request,response);
        System.out.println("计算业务开始!!!");
    }
}
  1. 获取前台表单数据

String num1=request.getParamter(“num1”)

Double num1.parseDouble(num1)
String num2=request.getParamter(“num2”)

Double num2.parseDouble(num2)

String oper= request.getParamter(“opera”)

    2. 计算业务

Switch(oper)

  Case(“+)—》result=num1+num2 break

 …….

  Case(“/”)-》if……..

Default …..

3->显示结果:转发到result.jsp

   3.1 共享

   Request.setAttribute(“res”,result ) 放到共享对象request[servlet,result,.jsp在一次请求中,所有文件可以共享result]

   3.2 页面跳转

   Request.getRequestDisthpather(“/result.jsp).forward()

JSP界面

<html>
<head>
    <title>Title</title>
</head>
<body>
运算的结果是<%=request.getAttribute("result")%>
</body>
</html>

    <%=request.getAttribute(“res)--à  result显示在页面中。

拓展

 防止接收中文乱码的方法

request.setCharacterEncoding("utf-8");//请求参数中文编码转换
response.setContentType("text/html;carset=utf-8");//应答结果中问编码转换

学习心得

  1. 感受

    将java基础与html的知识进行综合利用 实现了网页的跳转和方法的调用 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值