zoukankan      html  css  js  c++  java
  • jsp开发模式和web计算器

    1、jsp开发模式:
    1.sun公司推出jsp技术后,同时也推荐了两种web应用程序的开发模式,一种是JSP+JavaBean、一种是Servlet+jsp+javabean
    2.jsp+javabean模式适合开发业务逻辑不太复杂的web应用程序,这种模式下,javabean用于封装业务数据,jsp则负责处理用户请求,又显示数据。
    3.Servlet+jsp+javabean(MVC)模式适合开发复杂的web应用,在这种模式下,servlet负责处理用户请求,jsp负责数据显示,javabean模式程序
     各个模块之间层次清晰,web开发推荐采用这种模式。
    2、使用模式一编写计算器

    使用jsp+javabean编写一个计算器(calculator)页面,javabean具有firstNum、secondNUm、result、operator属性,并提供一个calculate方法。

    CalculatorBean.java

    package cn.itcast.domain;
    
    import java.math.BigDecimal;
    
    //封装计算器数据的bean
    public class CalculatorBean {
    	private String firstNum="0";
    	private char operator='+';
    	private String secondNum="0";
    	private String result;
    	public String getFirstNum() {
    		return firstNum;
    	}
    	public void setFirstNum(String firstNum) {
    		this.firstNum = firstNum;
    	}
    	public char getOperator() {
    		return operator;
    	}
    	public void setOperator(char operator) {
    		this.operator = operator;
    	}
    	public String getSecondNum() {
    		return secondNum;
    	}
    	public void setSecondNum(String secondNum) {
    		this.secondNum = secondNum;
    	}
    	public String getResult() {
    		return result;
    	}
    	public void setResult(String result) {
    		this.result = result;
    	}
    	public void calculate(){
    		BigDecimal first=new BigDecimal(this.firstNum);
    		BigDecimal second=new BigDecimal(this.secondNum);
    		switch(this.operator){
    		case '+':{
    			this.result=first.add(second).toString();
    			break;
    		}
    		case '-':{
    			this.result=first.subtract(second).toString();
    			break;
    		}
    		case '*':{
    			this.result=first.multiply(second).toString();
    			break;
    		}
    		case '/':{
    			if(second.doubleValue()==0){
    				throw new RuntimeException("被除数不能为0!");
    			}
    			this.result=first.divide(second,20,BigDecimal.ROUND_HALF_UP).toString();
    			break;
    		}
    		default:
    			throw new RuntimeException("运算符只能是 + - * / ");
    		}
    		
    	}
    }
    

    calculatorBean.jsp

    <%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
    <%
    String path = request.getContextPath();
    String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
    %>
    
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
    <html>
      <head>
        <base href="<%=basePath%>">
        
        <title>计算器演示页面</title>
        
    	<meta http-equiv="pragma" content="no-cache">
    	<meta http-equiv="cache-control" content="no-cache">
    	<meta http-equiv="expires" content="0">    
    	<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
    	<meta http-equiv="description" content="This is my page">
    	<!--
    	<link rel="stylesheet" type="text/css" href="styles.css">
    	-->
    
      </head>
      
      <body style="text-align:center;">
    	<jsp:useBean id="calculatorBean" class="cn.itcast.domain.CalculatorBean" />
    	<jsp:setProperty name="calculatorBean" property="*"/>
    	<%
    		try{
    			calculatorBean.calculate();
    		}catch(Exception e){
    			out.write(e.getMessage());
    		}
    		
    	 %>
    	 <br />------------------------------------------------------------------<br />
    	 	计算结果是:
    	 	<jsp:getProperty name="calculatorBean" property="firstNum"/>
    	 	<jsp:getProperty name="calculatorBean" property="operator"/>
    	 	<jsp:getProperty name="calculatorBean" property="secondNum"/>
    	 	=
    	 	<jsp:getProperty name="calculatorBean" property="result"/>
    	 <br />------------------------------------------------------------------<br />
      <form action="/day09/calculator.jsp" method="post">
      	<table width="40%" border="1" bordercolor="red" align="center">
      		<tr>
      			<td colspan="2">简单的计算器</td>
      		</tr>
      		<tr>
      			<td>第一个参数</td>
      			<td>
      				<input type="text" name="firstNum">
      			</td>
      		</tr>
      		<tr>
      			<td>操作符</td>
      			<td>
      				<select name="operator">
      					<option value="+">+</option>
      					<option value="-">-</option>
      					<option value="*">*</option>
      					<option value="/">/</option>
      				</select>
      			</td>
      		</tr>
      		<tr>
      			<td>第二个参数</td>
      			<td>
      				<input type="text" name="secondNum">
      			</td>
      		</tr>
      		<tr>
      			<td colspan="2">
      				<input type="submit" value="计算">
      			</td>
      		</tr>
      	</table>
      	</form>
      </body>
    </html>

    效果图如上!

  • 相关阅读:
    node lesson2
    二级联动(list对象中存list对象)
    Spring的注解@Qualifier注解
    @Service(value = "aaaa") 和@Service( "a")的区别
    oracle分页
    Oracle数据导入导出imp/exp
    oracle截取某个字符前面的字符串
    oracle中截取某个字符前面和后面的值
    解决Eclipse启动报错Failed to create the Java Virtual Machine
    成功秘诀就是拿出勇气和坚定的信念去做自己喜欢并且擅长的事情
  • 原文地址:https://www.cnblogs.com/lingyi1111/p/4461651.html
Copyright © 2011-2022 走看看