java 开发模式 blogdown的专栏

Java Web开发模式变迁;

    a、SUN公司将JSP+JavaBean的开发模式称为JSP模式1;
       之后提出了JSP+Servlet+JavaBean的JSP的开发模式2;

    b、模式一的缺点:
        页面严重缺乏可读性;
        没有将页面的表现和业务逻辑实现分开,增加了维护难度;

2、在JSP中使用JavaBean;
   
    a、JavaBean规范;
        JavaBean类必须是一个公共类,访问属性设置为public;
        JavaBean类必须有一个无参的空的构造函数;
        JavaBean类不应该有公共的实例变量,类变量都是private;
        JavaBean类应该是可序列化的(serializable),即实现了java.io.Serializable接口;

    b、为了在JSP中使用JavaBean,JSP提供了一下三种标准动作;
        jsp:useBean、jsp:getProperty和jsp:setProperty;

3、< jsp:useBean>动作;

    < jsp:useBean id = "beanName" scope = "page/request/session/application" class = "className" />;
        jsp:useBean:得到或创建JavaBean对象,先到作用域中查看是否存在该JavaBean对象,有就直接用,没有就创建;
        id:JavaBean对象名(引用名),在别的地方通过该引用名来访问JavaBean实例;
        scope:JavaBean生存的作用域,默认是page;
        class:JavaBean的包名类名,容器可以在web-inf/classes的目录下找到;

    < jsp:useBean id = "myBean" scope = "request" class = "com.lovobook.CustomerBean" />
    以上JavaBean声明等同于以下Servlet代码:
    CustomerBean myBean = (CustomerBean)request.getAttribute("myBean");
    if(myBean == null){
        myBean = new CustomerBean();
        request.setAttribute("myBean",myBean);
    }

4、< jsp:getProperty>动作;

    < jsp:getProperty name = "beanName" property = "propertyname" />;
        name:在< jsp:useBean>动作中的id名,id表示目标对象,name表示源对象;
        property:返回JavaBean中相对应的属性名;

    < jsp:useBean id = "myBean" scope = "request" class = "com.lovobook.CustomerBean" />
    < p>name:< jsp:getProperty name = "beanName" property = "propertyname" />
    等同于如下代码:
    < jsp:useBean id = "myBean" scope = "request" class = "com.lovobook.CustomerBean" />
    < %String name = myBean.getName();%>
    < p>name:< %=name >

5、< jsp:setProperty>动作;
   
    < jsp:setProperty name = "beanName" property = "属性名" param = "参数名" value ="属性值" />;

    < jsp:setProperty name = "beanName" property = "email" />
    相当于如下Servlet代码;
    myBean.setEmail(request.getParameter("email"));
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值