原网页: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. 关于“windows无法自动将ip协议栈绑定到网络适配器”问题导致不能连上网的解决办法

    问题出现的原因:这个问题的直接表象并不是显示给用户这个问题,而是提示无线网络驱动可能有问题或者以太网驱动可能有问题,但只要用户查看”详细信息“,就会得到标题这个问题,而出现这个问题的本质并不是驱动问题 ...

  2. 初探Lambda表达式

    简单例子 Expression<Func<; 了解Net方法,没有比IL来得更加容易.反编译IL代码如下(截取部分显示) [] <<int32, bool>> ex ...

  3. Win7下Eclipse中文字体太小

    http://www.cnblogs.com/newdon318/archive/2012/03/23/2413340.html 最近新装了Win7,打开eclipse3.7中文字体很小,简直难以辨认 ...

  4. DNS的view设置

    在实际的网络应用中,我们有时希望对于同一个Domain Name能够根据不同的请求IP 地址/区域,解析到不同的对应IP地址,比如:有时对于企业内部网络和外部网络希望对同一域名解析到不同的IP地址以达 ...

  5. Linux环境下Oracle数据库启动停止命令

    切换root至oracle数据库账号 su – oracle 查看数据库服务状态: ps -ef |grep oracle netstat –an|grep 1521 查看数据库监听状态: [orac ...

  6. IOS 跳转至AppStore的两种方式

    //第一种方法 直接跳转 id+编号 [[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"itms-apps: ...

  7. .net core 中环境变量的配置

    配置文件: Properties目录下的launchSettings.json IISExpress配置 "ASPNET_ENV": "EnvironmentOne&qu ...

  8. 第一个 Asp.Net vNext 应用程序

    要说免费的虚拟主机的话,最好的服务商应该就是Microsoft Azure(不是Windows Azure由世纪互联运营),提供免费的1GB .NET/Java/Python/Php空间,日流量有限制 ...

  9. EasyDarwin不能保存HLS列表的解决方案

    官网: easydarwin.org 安装过程 http://doc.easydarwin.org/EasyDarwin/README/ 安装客户端,iVMS-4200 客户端,并运行. 在设备管理里 ...

  10. Expression Tree 扩展MVC中的 HtmlHelper 和 UrlHelper

    表达式树是LINQ To everything 的基础,同时各种类库的Fluent API也 大量使用了Expression Tree.还记得我在不懂expression tree时,各种眼花缭乱的A ...