jsp开发模式和web计算器案例

 1 <%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
 2 <%
 3 String path = request.getContextPath();
 4 String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
 5 %>
 6
 7 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
 8 <html>
 9   <head>
10     <base href="<%=basePath%>">
11
12     <title>My JSP ‘Calculator.jsp‘ starting page</title>
13
14
15   </head>
16
17   <body>
18
19       <jsp:useBean id="Calculator" class="cn.itcast.domain.Calculator"></jsp:useBean>
20       <jsp:setProperty property="*" name="Calculator"/>
21
22       <%
23           try{
24           Calculator.calculate();
25           }catch(Exception e){
26               out.write(e.getMessage());
27           }
28        %>
29
30        <br/>--------------------------------------------<br/>
31            计算的结果是:
32            <jsp:getProperty name="Calculator" property="firstnum"/>
33            <jsp:getProperty name="Calculator" property="operator"/>
34            <jsp:getProperty name="Calculator" property="secondnum"/>
35            =
36            <jsp:getProperty name="Calculator" property="result"/>
37        <br/>--------------------------------------------<br/>
38       <br/>
39       <form action="/JSPDemo/Calculator.jsp" method="post" style="text-align:center;">
40           <table width="40%" border="1">
41             <tr>
42                 <td colspan="2">简单的计算器</td>
43             </tr>
44             <tr>
45                 <td>第一个参数</td>
46                 <td>
47                     <input type="text" name="firstnum" />
48                 </td>
49             </tr>
50             <tr>
51                 <td>操作符</td>
52                 <td>
53                     <select name="operator" >
54                         <option value="+">+</option>
55                         <option value="-">-</option>
56                         <option value="*">*</option>
57                         <option value="/">/</option>
58                     </select>
59                 </td>
60             </tr>
61             <tr>
62                 <td>第二个参数</td>
63                 <td>
64                     <input type="text" name="secondnum" />
65                 </td>
66             </tr>
67             <tr>
68                 <td colspan="2">
69                     <input type="submit" value="计算" />
70                 </td>
71             </tr>
72         </table>
73       </form>
74
75   </body>
76 </html>

Calculator.jsp

 1 package cn.itcast.domain;
 2
 3
 4 import java.math.BigDecimal;
 5
 6 //封装计算器数据的bean
 7 public class Calculator {
 8
 9     private String firstnum = "0";
10     private String secondnum = "0";
11     private char operator = ‘+‘;
12     private String result;
13
14     public void calculate(){
15         BigDecimal first = new BigDecimal(this.firstnum);
16         BigDecimal second = new BigDecimal(this.secondnum);
17
18         switch(this.operator){
19         case ‘+‘:{
20                 this.result = first.add(second).toString();
21                 break;
22             }
23         case ‘-‘:{
24             this.result = first.subtract(second).toString();
25             break;
26         }
27         case ‘*‘:{
28             this.result = first.multiply(second).toString();
29             break;
30         }
31         case ‘/‘:{
32             if(second.doubleValue()==0){
33                 throw new RuntimeException("被除数不能为0");
34             }
35             this.result = first.divide(second,20,BigDecimal.ROUND_HALF_UP).toString();
36             break;
37         }
38
39         default:
40             throw new RuntimeException("运算符只能+-*/");
41         }
42
43     }
44
45     public String getFirstnum() {
46         return firstnum;
47     }
48
49     public void setFirstnum(String firstnum) {
50         this.firstnum = firstnum;
51     }
52
53     public String getSecondnum() {
54         return secondnum;
55     }
56
57     public void setSecondnum(String secondnum) {
58         this.secondnum = secondnum;
59     }
60
61     public char getOperator() {
62         return operator;
63     }
64
65     public void setOperator(char operator) {
66         this.operator = operator;
67     }
68
69     public String getResult() {
70         return result;
71     }
72
73     public void setResult(String result) {
74         this.result = result;
75     }
76 }

Calculator

jsp开发模式和web计算器案例

时间: 2024-11-18 05:25:12

jsp开发模式和web计算器案例的相关文章

jsp开发模式和web计算器

1.jsp开发模式:1.sun公司推出jsp技术后,同时也推荐了两种web应用程序的开发模式,一种是JSP+JavaBean.一种是Servlet+jsp+javabean2.jsp+javabean模式适合开发业务逻辑不太复杂的web应用程序,这种模式下,javabean用于封装业务数据,jsp则负责处理用户请求,又显示数据.3.Servlet+jsp+javabean(MVC)模式适合开发复杂的web应用,在这种模式下,servlet负责处理用户请求,jsp负责数据显示,javabean模式

JSP开发模式2(计算器)

CalculatorBean———————————————————————————————————————————— public class CalculatorBean {    private String firstNum;    private String sencondNum;    private String operator;    private Double result=0.0;        public Double getResult() {        ret

【黑马程序员】第11课:JSTL标签+JSP开发模式

<pre> day11 昨天内容回顾 (1)jsp *jsp的三个指令 *jsp里面九个内置对象 request response session config application exception page out:out输出机制 pageContext (2)javabean *jsp的动作标签 *beanutils框架 (3)el表达式 *el表达式获取域对象里面的值 *el表达式获取域对象里面数组,集合,对象的属性的值  思维导图 1.jstl的简介 *和指令taglib一起使用

JSP开发模式

一.jsp开发模式 sun公司推出jsp技术后,同时也推出了两种web应用程序的开发模式,一种是jsp+Javabean模式,一种是Sevlet+jsp+Javabean模式. jsp+Javabean模式适合开发业务逻辑不太复杂的web应用程序,这种模式下,Javabean用于封装业务数据,jsp即负责处理用户请求,又显示数据. Servlet+jsp+Javabean(MVC)模式适合开发复杂的web应用,在这种模式下,servlet负责处理用户请求,jsp负责数据显示,Javabean负责

[原创]颠覆传统网站开发模式的web服务器

Jerry Server - 正式版1.0.0 文档 之前发过一篇文章,当时的想法现在看来真的不是很明确,得到了很多批评.不过,批评有利有弊,由此我又仔细思考了很多,最终明确了自己究竟要做什么.特厚着脸皮发出正式版文档! 1.缘由 以Java web举例,现在的网站系统开发模式,对于web端和服务端的数据交互以及页面渲染,无外乎两种: 第一种是交给后端处理,Jsp,Freemark模板引擎之流,这种开发模式需要前端人员做好静态页面交给后端去处理一些其它工作.这种开发模式到如今也依旧流行,这也是招

JSP开发模式1(简单注册功能)

———————————————————————————————————————————————— import java.util.regex.Matcher;import java.util.regex.Pattern; public class RegisterBean {    private String userName = "";    private String errorName = "";        private String age =

JavaBean+jsp开发模式 --结合form表单 实例

1.创建form表单 <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd&qu

Java Web开发模式

一 Java Web开发模式的变迁 1 最初的Java web服务器端编程技术是Servlet,利用Servlet就可以开发出一个Web应用程序. 2 为了解决Servlet缺陷,SUN推出了JSP技术.但是开发人员又走向了另一个极端就是完全放弃了Servlet. 在JSP页面混合使用HTML标记和java代码编写的脚本元素标记来开发Web程序.采用这种方法虽然可以编写JSP页面变得简单,直观,然而,他只适合于业务流程简单,系统规模较小的应用系统. 如果系统较大的话,就会出现两个严重的缺点: 1

EL表达式 JSTL的标签库 EL的函数 自定义EL函数 自定义标签 JSP的开发模式 注册登陆案例

EL表达式 JSTL的标签库 EL的函数 自定义EL函数 自定义标签 JSP的开发模式 注册登陆案例 EL表达式 1.获取域对象中的值 2.EL表达式支持运算 ${ num1 + num2 } EL获取常用的WEB对象 1.pageScope 获取page域对象的值 2.requestScope 获取request域对象的值 3.sessionScope 获取session域对象的值 4.applicationScope 获取application域对象的值 * 例子:向某个域中来存入值 req