jsp 를 사용 하여 javabean 을 호출 하여 초 간단 웹 계산기 예제 구현
다음은 코드:
Calculator.java
package com.amos.model;
import java.math.BigDecimal;
/**
* @ClassName: Calculator
* @Description:
* @author: amosli
* @email:[email protected]
* @date Mar 20, 2014 1:04:59 AM
*/
public class Calculator {
private String firstnum="0";
private String secondnum="0";
private char operator='+';
private String result;
public String getResult() {
return result;
}
public char getOperator() {
return operator;
}
public void setOperator(char operator) {
this.operator = operator;
}
public void setResult(String result) {
this.result = result;
}
public String getFirstnum() {
return firstnum;
}
public void setFirstnum(String firstnum) {
this.firstnum = firstnum.trim();
}
public String getSecondnum() {
return secondnum;
}
public void setSecondnum(String secondnum) {
this.secondnum = secondnum.trim();
}
public void calculate() {
BigDecimal a = new BigDecimal(this.firstnum);
BigDecimal b = new BigDecimal(this.secondnum);
switch (this.operator) {
case '+':
this.result = a.add(b).toString();
break;
case '-':
this.result = a.subtract(b).toString();
break;
case '*':
this.result = a.multiply(b).toString();
break;
case '/':
if (b.doubleValue()==0) {
throw new RuntimeException(" ");
}
this.result = a.divide(b,10,BigDecimal.ROUND_HALF_DOWN).toString();
break;
default:
break;
}
}
}
calculator.jsp
<%@ 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">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>jsp </title>
</head>
<body>
<jsp:useBean id="calcBean" class="com.amos.model.Calculator"></jsp:useBean>
<jsp:setProperty property="*" name="calcBean" />
<%
calcBean.calculate();
%>
<hr>
:
<jsp:getProperty property="firstnum" name="calcBean" />
<jsp:getProperty property="operator" name="calcBean" />
<jsp:getProperty property="secondnum" name="calcBean" />
=<jsp:getProperty property="result" name="calcBean" />
<hr>
<form action="/jsp/calculator.jsp" method="post">
<table style="text-align: center;">
<tr>
<td colspan="2"> </td>
</tr>
<tr>
<td> </td>
<td><input type="text" name="firstnum" /></td>
</tr>
<tr>
<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>
<button name="calc" type="submit"> </button>
</td>
</tr>
</table>
</form>
</body>
</html>
코드 소개1)여기 서 정밀도 연산 을 하려 면 double+double 을 사용 하면 왜곡 되 기 쉽다.예 를 들 어 a=0.1,b=0.02,a+b=?
0.1+0.02=0.12000000000000001
컴퓨터 밑바닥 은 0 과 1 만 알 고 더 블 은 64 비트 정밀도 이기 때문에 계산 할 때 왜곡 되 기 쉽다.연산 을 할 때 BigDecimal 또는 BigInteger 류 를 사용 하여 연산 하 는 것 을 권장 하 며,기 존의 add,substract 등 방법 을 사용 하면 가감 등 을 실현 할 수 있 습 니 다.
2)jsp 는 주로 jsp:useBean 을 실례 화 대상 으로 하고 jsp:setProperty 와 jsp:getProperty 를 설정 하고 값 을 취한 다.
3)오류 페이지 내용 에 대한 설정:
웹.xml 에 다음 내용 을 추가 하여 exception 을 캡 처 합 니 다.
<error-page>
<exception-type>java.lang.Exception</exception-type>
<location>/error/error.jsp</location>
</error-page>
error.jsp 페이지 에 오류 정 보 를 표시 합 니 다:
sorry, !!
<%out.print(exception.getMessage()); %>
추가:JSP 는 두 가지 개발 모델 이 있 습 니 다.SUN 사 는 JSP 기술 을 출시 한 후 두 가지 웹 애플 리 케 이 션 의 개발 모델 도 추천 했다.하 나 는 JSP+JavaBean 모델 이 고 하 나 는 Servlet+JSP+JavaBean 모델 이다.
1)JSP+JavaBean 모델 은 간단 한 개발 에 적합 하고 업무 논리 가 복잡 하지 않 은 웹 응용 프로그램 을 개발 하기에 적합 합 니 다.이런 모델 에서 JavaBean 은 업무 데 이 터 를 밀봉 하 는 데 사 용 됩 니 다.JSP 는 사용자 의 요청 을 처리 하고 데 이 터 를 표시 합 니 다.
2)Servlet+JSP+자바 빈(MVC)모델 은 복잡 한 웹 애플 리 케 이 션 개발 에 적합 합 니 다.이러한 모델 에서 servlet 은 사용자 요청 을 처리 하고 jsp 는 데이터 디 스 플레이 를 담당 하 며 자바 빈 은 데 이 터 를 밀봉 합 니 다.Servlet+JSP,자바 빈 모드 프로그램 은 각 모듈 간 의 차원 이 뚜렷 하고 웹 개발 은 이 모델 을 사용 하 는 것 을 추천 합 니 다.
본 사례 에서 채택 한 것 은 바로 첫 번 째 개발 모델 이다.
PS:여기 서 여러분 께 이 사이트 의 온라인 계산기 두 가 지 를 추천 합 니 다.모두 js 로 이 루어 지고 기능 이 강해 서 여러분 들 이 자 바스 크 립 트 수학 연산 과 웹 디자인 을 깊이 이해 하 는 데 도움 이 될 것 이 라 고 믿 습 니 다.
온라인 표준 계산기:
온라인 과학 계산기
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
JSP| EL (Experession Language)텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.