用mvc模式开发的简单网页计算器

index.jsp:

<%@ page language="java" contentType="text/html" pageEncoding="GBK"%>

<%    request.setCharacterEncoding("GBK") ;    %>
<% String a = (String)request.getAttribute("result");
    if(a==null) a = "0";
%>

<html>
<head>
<title>计算器</title>
<script>
a=-1;
b="";
str="";
function add(s){
  str=str+s;  
  document.form1.f0.value=str;
  if(a!=1){
    a=1;
  }
}
function operator(s){
  if(a == -1){
    b=str;
      str=str;
      return;       
  }
  else if(a!=0){
      b=str;
      str=str+s;
  }
  else{
    str=b;
    str=str+s;   
  }
  document.form1.f0.value=str;
  a=0;
}
function esc(s){
    str="";
    document.form1.f0.value=str;
}
function set1(){    
  str=document.form1.f0.value;     
}
</script>
</head>
<body>
<hr>
<form name="form1" method="GET" action="calculate">
<table align="center" border="1">   
<tr>
<td colspan="5">
<input name="f0" type="text" οnchange="set1()" value="<%=a %>" readonly>
</td></tr>   
<tr>     
<td align="center">
<input name="f4" type="button" value="7" οnclick="add(this.value)"/>
</td>    
<td align="center">
<input name="f5" type="button" value="8" οnclick="add(this.value)"/>
</td>    
<td align="center">
<input name="f6" type="button" value="9" οnclick="add(this.value)"/>
</td>    
<td align="center">
<input name="f7" type="button" value="/" οnclick="operator(this.value)"/>
</td>    
<td align="center">
<input name="f8"  type="button" value="Esc" οnclick="esc(1)"/>
</td> </tr>    
<tr>     
<td align="center">
<input name="f9" type="button" value="4" οnclick="add(this.value)"/>
</td>    
<td align="center">
<input name="f10" type="button" value="5" οnclick="add(this.value)"/>
</td>    
<td align="center">
<input name="f11"  type="button" value="6" οnclick="add(this.value)"/>
</td>    
<td align="center">
<input name="f12" type="button" value="*" οnclick="operator(this.value)"/>
</td>    
<td align="center">
<input name="f13" type="button" value="%" οnclick="operator(this.value)"/>
</td> </tr>    
<tr>     
<td align="center">
<input name="f14" type="button" value="1" οnclick="add(this.value)"/>
</td>    
<td align="center">
<input name="f15" type="button" value="2" οnclick="add(this.value)"/>
</td>    
<td align="center">
<input name="f16" type="button" value="3" οnclick="add(this.value)"/>
</td>    
<td align="center">
<input name="f17" type="button" value="+" οnclick="operator(this.value)"/>
</td>    
<td align="center">
<input name="f18" type="button" value="-" οnclick="operator(this.value)"/>
</td> </tr>    
<tr>  
<td align="center">
<input name="f19" type="button" value="0" οnclick="add(this.value)"/>
</td>    
<td align="center">
<input name="f20" type="button" value="." οnclick="operator(this.value)"/>
</td>    
<td align="center">
<input name="f21" type="submit" value="="/>
</td>
<td align="center">
<input name="f20" type="button" value="(" οnclick="add(this.value)"/>
</td>  
<td align="center">
<input name="f20" type="button" value=")" οnclick="add(this.value)"/>
</td>      
</tr>       
</table>    
</form>
</body>

</html>


CalculateServlete.java:

package web.servlet;

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

import web.calcu.SimpleBean;

public class CalculateServlete extends HttpServlet
{
    public  void  doPost(HttpServletRequest request,HttpServletResponse response)
    throws ServletException,IOException
    {
        doGet(request,response);
    }
    public  void  doGet(HttpServletRequest request,HttpServletResponse response)
    throws ServletException,IOException
    {
        String db=null;
        try{
            db=(String)request.getParameter("f0");
        }catch(Exception e){}
        if(db==null){
            System.out.println("null");
            request.getRequestDispatcher("/index.jsp").forward(request, response);
            return;
        }
        SimpleBean s = new SimpleBean();
        s.setStr(db);
        db = s.calcu();
        request.setAttribute("result", db);
        request.getRequestDispatcher("/index.jsp").forward(request, response);
    }

}



最后在SimpleBean.java中添加计算函数和读写函数即可。



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值