java咖啡豆_咖啡豆(JavaBean)·JSP中使用JavaBean

Jsp+JavaBean的组合已经成为开发小型B/S应用的最佳选择,使用JavaBean可以把业务处理功能从jsp页面分离,从而减少jsp页面中间的java代码量,使jsp页面更专注处理数据的显示,从而使页面的逻辑变得十分清晰。套用一句广告语:“自从采用jsp+JavaBean的组合,编写jsp的程序不头疼啦,维护jsp也变的简单可行了。”

为什么要在jsp中使用JavaBean?

Jsp本质就是把java代码嵌套在静态的HTML页面中,从而使静态的HTML页面有了动态的功能,从原理说,仅仅用jsp就可以实现所有动态功能,既然这样采用JavaBean的原因何在?

先看代码

JSP示例程序

Date firstDate=new Date();

Date secondDate=new Date(107,6,23);

%>

本页面战士的功能式比较两个日时间的前后:

第一个时间为:

第二个时间为:

if(firstDate.before(secondDate))

out.println("第一个时间早于第二个时间");

else if(firstDate.after(secondDate))

out.println("第二个时间早于第一个时间");

else

out.println("两个时间相等");

%>

上面的这个程序的功能非常简单,这只是为了说明问题举得一个简单例子,实际开发中的逻辑和数据显示要比这个例子复杂的多。然而尽管这么简单的一个程序,但是还存在一些问题。还是上面文章提到的

可定制性差:如果需要比较的时间变化就不得不再次编写页面代码。

可维护性差:如果页面美工人员不懂Java代码那么页面的维护将变得异常困难。

复用性差:如果其他页面也需要用到比较时间的功能就不得不从头再次写一遍及其相似的代码。

对于上面的这个程序来说,上述的几个问题都是无法解决的,这正是jsp开发在初期的致命伤,把所有的业务逻辑都放在jsp页面处理从而导致页面逻辑混乱不堪,不仅代码不可重用,美工而已无法对页面进行视觉方面的美化,就连开发人员自己都有可能看不懂自己写的代码,这样的无难题导致初期的jsp开发成为一件劳神费力地苦差事。

然而JavaBean的出现解决掉了这样的令人头疼的问题,利用JavaBean可以把页面上复杂的业务逻辑处理抽象成一个JavaBean利用JavaBean封装负责的业务逻辑,在jsp页面上只需要简单调用这个实现业务逻辑这个实现业务的JavaBean即可,这样就实现了业务处理和数据暂时的分离,而且封装起来的JavaBean也成了可以重复利用的组件,不仅在其他别的页面可以重复利用,而且其他的开发人员也可以不用考虑其具体的实现,像调用一般java类一样调用别人已经写好的JavaBean,与此同时,剥离了业务逻辑的jsp页面逻辑更加清晰,即便是美工人员对java一窍不通也丝毫不影响对页面的没货工作,而开发人员面对这样清晰的页面逻辑轻松的读懂当然是不费吹灰之力了。

Jsp+JavaBean实现上面代码的功能

页面代码部分:

JSP示例程序

date.setFirstDate(new Date());

date.setSecondDate(new Date(107, 6, 23));

%>

本页面展示的功能式比较两个日时间的前后

第一个时间为:

第二个时间为:

out.println(date.compare());

%>

JavaBean代码部分:

package beans;

import java.util.Date;

public class Compare {

//设置两个日期属性

private Date firstDate;

private Date secondDate;

//判断两个时间的前后

public String compare(){

if(firstDate.before(secondDate))

return "第一个时间早于第二个时间";

else if(firstDate.after(secondDate))

return "第二个时间早于第一个时间";

else

return "两个时间相等";

}

//取得第一个时间

public Date getFirstDate(){

return firstDate;

}

//设置第一个时间

public void setFirstDate(Date firstDate){

this.firstDate =firstDate;

}

//取得第二个时间

public Date getSecondDate(){

return secondDate;

}

//设置第二个时间

public void setSecondDate(Date secondDate){

this.secondDate =secondDate;

}

}

这个页面的运行效果和上面的第一个代码是一致的,但是很明显这个JSP页面上的Java代码少了很多。虽然把逻辑代码封装成JavaBean增加了编码的工作量,但是其带来的便捷和高效式显而易见的。

使用JavaBean其乐无穷~~

好的,下面是一个简单的Java Web计算器的实现过程: 1. 首先创建一个JSP页面,用于显示计算器界面。在该页面,需要有一些按钮,如数字、运算符、清除、等于等。 2. 创建一个JavaBean类,用于处理计算器的逻辑。在该类,需要定义一些成员变量,如操作数1、操作数2、运算符等,以及一些方法,如加、减、乘、除等。 3. 在JSP页面使用`<jsp:useBean>`指令引用JavaBean类,并通过`<jsp:setProperty>`指令设置JavaBean类的属性。 4. 在JSP页面使用`<% %>`标签引用JavaBean的方法,用于处理用户的操作。例如,当用户点击加号按钮时,调用JavaBean的加法方法。 5. 最后,使用`<%= %>`标签输出计算结果。 下面是一个简单的Java Web计算器的代码实现: Calculator.jsp: ```jsp <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <%@ page import="com.example.bean.CalculatorBean" %> <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>Calculator</title> </head> <body> <h1>Calculator</h1> <form method="post"> <table> <tr> <td colspan="4"><input type="text" name="result" value="${calculatorBean.getResult()}" /></td> </tr> <tr> <td><input type="button" value="7" onclick="document.forms[0].result.value += '7'" /></td> <td><input type="button" value="8" onclick="document.forms[0].result.value += '8'" /></td> <td><input type="button" value="9" onclick="document.forms[0].result.value += '9'" /></td> <td><input type="button" value="+" onclick="document.forms[0].operator.value = '+'" /></td> </tr> <tr> <td><input type="button" value="4" onclick="document.forms[0].result.value += '4'" /></td> <td><input type="button" value="5" onclick="document.forms[0].result.value += '5'" /></td> <td><input type="button" value="6" onclick="document.forms[0].result.value += '6'" /></td> <td><input type="button" value="-" onclick="document.forms[0].operator.value = '-'" /></td> </tr> <tr> <td><input type="button" value="1" onclick="document.forms[0].result.value += '1'" /></td> <td><input type="button" value="2" onclick="document.forms[0].result.value += '2'" /></td> <td><input type="button" value="3" onclick="document.forms[0].result.value += '3'" /></td> <td><input type="button" value="*" onclick="document.forms[0].operator.value = '*'" /></td> </tr> <tr> <td><input type="button" value="0" onclick="document.forms[0].result.value += '0'" /></td> <td><input type="button" value="C" onclick="document.forms[0].result.value = ''" /></td> <td><input type="submit" value="=" /></td> <td><input type="button" value="/" onclick="document.forms[0].operator.value = '/'" /></td> </tr> <tr> <td colspan="4"><input type="hidden" name="operator" /></td> </tr> </table> </form> </body> </html> ``` CalculatorBean.java: ```java package com.example.bean; public class CalculatorBean { private double operand1; private double operand2; private String operator; private double result; public CalculatorBean() { } public double getOperand1() { return operand1; } public void setOperand1(double operand1) { this.operand1 = operand1; } public double getOperand2() { return operand2; } public void setOperand2(double operand2) { this.operand2 = operand2; } public String getOperator() { return operator; } public void setOperator(String operator) { this.operator = operator; } public double getResult() { return result; } public void setResult(double result) { this.result = result; } public void add() { result = operand1 + operand2; } public void subtract() { result = operand1 - operand2; } public void multiply() { result = operand1 * operand2; } public void divide() { result = operand1 / operand2; } } ``` 在以上代码,我们通过`<jsp:useBean>`指令引用了CalculatorBean类,并使用`<jsp:setProperty>`指令设置了CalculatorBean类的属性。在表单提交时,我们通过JavaScript获到用户的操作数和运算符,然后调用相应的JavaBean方法处理计算逻辑,最后通过`<%= %>`标签输出计算结果。 希望这篇文章能够帮助你实现一个简单的Java Web计算器。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值