原网页:http://www.douban.com/note/102320977/

JavaBean是一种可复用,跨平台的组件。共有两种JavaBean:一种无用户界面,这种一般用于处理数据运算,操作数据库等。另一种是有用户界面(User Interface)的JavaBean. 在Jsp中一般访问无用户界面的JavaBean。

Jsp中访问JavaBean语法:

1. 使用page指令导入 JavaBean 类:
    <%@page import="包名 . 类名" %>

2. 使用<jsp:useBean>标签声明JavaBean对象:
    <jsp:useBean id="实例名" class="包名 . 类名" scope="作用范围"/>

注意:要给出完整的(包名 . 类名),否则报ClassNotFoundException
    
    例:<jsp:useBean id="bean" class="com.CountBean" scope="session"/>
    上面的代码相当于:
                 CountBean bean = new CountBean();
                 session.setAttribute( "bean" , bean );

注意:如果在scope指定范围内,该JavaBean已存在,则<jsp:useBean>不会生成新的JavaBean对象,而是直接获得已经存在的 JavaBean 对象的引用.

3.使用<jsp:getProperty>和<jsp:setProerty>标签访问JavaBean属性:

<jsp:getProperty name="实例名" property="Bean中的属性名">
    调用Bean中的get方法得到某属性的值

<jsp:setProperty name="实例名" property="Bean中的属性名">
      调用Bean中的set方法给某属性赋值

1.JavaBean在page作用域中:
    在这种情况下,客户每次访问Jsp页面时,都会创建一个JavaBean对象,仅在当前Jsp页面中有效。
    例子的结果:
                    count values is: 0
                    scope = page

此时JavaBean在将以下两种情况下结束生命周期
      (1)当客户访问当前Jsp页面通过forword转发请求到另一文件时
    (2) 当客户访问当前Jsp页面执行完毕并向客户端发回响应时

2.JavaBean在request作用域中:
    与page一样,客户每次访问Jsp页面时,都会创建一个JavaBean对象。
    例子的结果:
                    count values is: 0
                    scope = request
   此时 , 当客户访问当前Jsp页面执行完毕并向客户端发回响应时 ,JavaBean结束生命周期

3 JavaBean在session作用域中:
    JavaBean对象被创建后,一直存在于当前回话中,在同一会话中,共享同一JavaBean
    例子结果:
                    count values is: 0
( 每刷新一次,增长1,当打开另一浏览器窗口重新发出请求时,就不在同一会话中了,将创建一个新的会话,从0开始重新增长。 )
                    scope = session

4.JavaBean在application作用域中
     JavaBean对象被创建后,一直存在于当前Web应用程序的生命周期中,在此应用程序中,共享同一JavaBean
例子结果:
                    count values is: 0
( 每刷新一次,增长1,当打开另一浏览器窗口重新发出请求时,此时还在同一Web应用程序中了,从原有基础上)

注意:默认的情况下,jsp中session的属性是true

例如:javaBean作用范围是session的情况!

a.jsp

.................

<jsp:useBean id="dbMsg" class="com.bean.SQLBean" scope="session"/>
<%

    //初始化
           dbMsg.getConncetion("org.gjt.mm.mysql.Driver","jdbc:mysql://localhost/ss", "lala", "haha");
           dbMsg.getStatement(ResultSet.TYPE_SCROLL_INSENSITIVE, ResultSet.CONCUR_READ_ONLY);
%>

<jsp:include page="b.jsp"/>

.............

b.jsp

................

<jsp:useBean id="dbMsg" class="com.bean.SQLBean" scope="session"/>

dbMsg.doing();

................

javaBean和jsp应用的更多相关文章

  1. Javabean+servlet+JSP(html)实例应用

    大家都知道Javabean+servlet+JSP是最简单的MVC模式.的确,在一个小型的项目中,这个模式完全够用. 它优雅并且简洁.加上jQueryui的完美展示效果,让这个模式看起来非常合适.当然 ...

  2. JavaBean与Jsp

    这一节我们总结一下JavaBean和Jsp的关系. 1. JavaBean javaBean是一个遵循特定写法的Java类,它通常具有如下特点:        1)这个java类必须具有一个无参构造函 ...

  3. JSP内置标签 JSP中JavaBean标签 JSP开发模式 EL和JSTL快速入门

    2 JSP内置标签(美化+业务逻辑)   1)为了取代<%%>脚本形式,使用JSP标签/JSP动作,目的:与JSP页面的美化,即JSP面页都是由标签组成,不再有其它的内容   2)JSP内 ...

  4. JavaBean在jsp中的使用

    JavaBean在Jsp中的引用: 1.用<jsp:useBean>标记: <jsp:useBean id="name" class="classnam ...

  5. (九)Javabean与Jsp(来自那些年的笔记)

    目录 JavaBean 在JSP中使用JavaBean 标签用法 带标签体的 JavaBean 标签 setProperty 标签 getProperty 标签 JSP开发模式 案列:使用 模式一 编 ...

  6. javabean和jsp动作元素

    model1就是利用了jsp和javabean 的组合来处理问题.jsp页面如果有太多的逻辑代码的话,维护起来和扩展起来是相当的麻烦的.所以jsp的逻辑代码部分都打包到一种java类当中进行编写.这种 ...

  7. JavaBean用JSP调用和使用JSP动作标签的区别

    javabean的类可以用jsp动作标签实例化并使用. <!-- 下面这句是对Javabean类person的引用,引用的实例是p2 --> <jsp:useBean id=&quo ...

  8. javabean+servlet+jsp程序_个人辛苦探索

    主要介绍主流的java web编程技术.设计模式和框架,以及如何利用Eclipese开发Web应用程序. 要点:1.Java Web编程的主要组件技术: 2.MVC设计模式: 3.用Eclipse构建 ...

  9. JavaBean+servlet+jsp——>对数据进行增删改查

    1.开始页面(查询数据) <%@page import="com.zdsofe.work.Student"%> <%@page import="java ...

随机推荐

  1. poj 2142 拓展欧几里得

    #include <cstdio> #include <algorithm> #include <cstring> #include <iostream> ...

  2. 利用GBDT模型构造新特征

    [本文链接:http://www.cnblogs.com/breezedeus/p/4109480.html,转载请注明出处] 我的博客主营地迁至github,欢迎朋友们有空去看看:http://br ...

  3. mysql大数据表改表结构方案

    有一个表有上千W数据, 用什么方法给这个表加一个字段最快?1. alert2. 建一个表和第一个表一样,只是多了要加的字段,然后用多个INSERT INTO SELECT语句limit写入3. 就是导 ...

  4. 【C++】DDX_Control、SubclassWindow和SubclassDlgItem的区别

    在自绘窗口的时候,子类化是MFC最常用的窗体技术之一.什么是子类化?窗口子类化就是创建一个新的窗口函数代替原来的窗口函数. Subclass(子类化)是MFC中最常用的窗体技术之一.子类化完成两个工作 ...

  5. Python 之 super & MRO (没有遇到过适用场景)

    WOW!!! 这里wow的是真尼玛绕且没看完, 好困呐,贴上网址,等自己英文好一点再看(https://rhettinger.wordpress.com/2011/05/26/super-consid ...

  6. 用MOS管防止电源反接的原理

    电源反接,会给电路造成损坏,不过,电源反接是不可避免的.所以,我么就需要给电路中加入保护电路,达到即使接反电源,也不会损坏的目的. 一般可以使用在电源的正极串入一个二极管解决,不过,由于二极管有压降, ...

  7. iOS 删除已经配置的类库和移除CocoaPods

    引言 我们使用CocoaPods非常高效地将一些第三方类库导入到我们的项目中,但是不由得产生一个疑问:如果发现某个类库不适用,甚至是整个CocoaPods我们都不想再在项目中持有,那么我们要怎么把这些 ...

  8. 高性能网站架构设计之缓存篇(4)- Redis 主从复制

    Redis 的主从复制配置非常容易,但我们先来了解一下它的一些特性. redis 使用异步复制.从 redis 2.8 开始,slave 也会周期性的告诉 master 现在的数据量.可能只是个机制, ...

  9. 故障排查:是什么 导致了服务器端口telnet失败?

    telnet命令的主要作用是与目标端口进行TCP连接(即完成TCP三次握手). 当服务端启动后,但是telnet其监听的端口,却失败了.或者,当服务端运行了一段时间后,突然其监听的端口telnet不通 ...

  10. javascript 设计模式-----模块模式

    在一些大的项目中经常使用到模块,在这里,我们将了解一下什么是模块模式.模块模式最简单的方法大家一定会用过,如下所示: var a = { b : 1, c : 2 } 这样一个对象的直接量其实就已经是 ...