原网页: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. 基于Axure的快速原型方法

    Axure是一个专业的快速原型设计工具,让负责定义需求和规格.设计功能和界面的专家能够快速创建应用软件或Web网站的线框图.流程图.原型和规格说明文档.作为专业的原型设计工具,它能快速.高效的创建原型 ...

  2. Ajax异步调用Controller的Return JsonResult生成下拉列表

    @using System.Web.Optimization; @{ Layout = null; } <!DOCTYPE html> <html> <head> ...

  3. 基于AutoCAD的ObjectARX之NET扩展(mcnetarx)-AcdbEntNext、AcdbEntLast

    1.AcdbEntLast用于获取最后一个创建的实体. 2.AcdbEntNext用于获取指定实体名称之后的下一个创建的实体. ' 定义保存实体名称的变量 Dim ent() As Integer = ...

  4. 基于AutoCAD的ObjectARX之NET扩展(mcnetarx)-AcdbEntMake

    1.创建一个结果缓冲区. 2.调用AcdbEntMake创建对象. 示例: ' 创建文字实体 Dim rb As ResultBuffer = New ResultBuffer rb.Add(New ...

  5. 解决eclipse-helios中Errors running builder JavaScript Validator的问题(转)

    原文地址:http://hi.baidu.com/%B3%BF%D1%F4%C2%FE%B2%BD/blog/item/2528f6de3ca90955ccbf1a3f.html 最近下载了eclip ...

  6. MySQL1:MySQL函数汇总

    前言 MySQL提供了众多功能强大.方便易用的函数,使用这些函数,可以极大地提高用户对于数据库的管理效率,从而更加灵活地满足不同用户的需求.本文将MySQL的函数分类并汇总,以便以后用到的时候可以随时 ...

  7. Spring AOP在函数接口调用性能分析及其日志处理方面的应用

    面向切面编程可以实现在不修改原来代码的情况下,增加我们所需的业务处理逻辑,比如:添加日志.本文AOP实例是基于Aspect Around注解实现的,我们需要在调用API函数的时候,统计函数调用的具体信 ...

  8. [算法][三轴、六轴、九轴传感器算法分析] 1、分享一个三轴加速计matlab动态可视化脚本

    一.有啥用 这里用的是LIS3DH三轴加速计,输出为X.Y.Z轴的加速度,通过串口连接电脑,电脑里运行matlab脚本通过串口实时获取数据并做可视化显示. 这里虽然是针对LIS3DH的,其实稍作修改即 ...

  9. C# socket编程实践——支持广播的简单socket服务器

    在上篇博客简单理解socket写完之后我就希望写出一个websocket的服务器了,但是一路困难重重,还是从基础开始吧,先搞定C# socket编程基本知识,写一个支持广播的简单server/clie ...

  10. 可伸缩性最佳实践:来自eBay的经验

    看到一篇关于系统可伸缩性(可扩展)的文章,eBay的架构师Randy Shoup写的,原文出处没找到,就不写转载的地址了.根据自己的理解对文章有修改剪切的地方. 在eBay,可伸缩性是我们每天奋力抵抗 ...