`
haishen04
  • 浏览: 3347 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
文章分类
社区版块
存档分类
最新评论

JavaBean在JSP中的作用范围(page,session,application,request)_

阅读更多
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已存在,则<jap:useBean>不会生成新的JavaBean对象,而是直接获得已经存在的 JavaBean 对象的引用.

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

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

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

例子:
<%@ page language="java" pageEncoding="ISO-8859-1"%>
<%@page import="com.CountBean;"%>
<jsp:useBean id="bean" class="com.CountBean" scope="[page][request][session][application]" />

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">

<html>
<head>

   
    <title>Count.jsp'</title>
   
    <meta http-equiv="pragma" content="no-cache">
    <meta http-equiv="cache-control" content="no-cache">
    <meta http-equiv="expires" content="0">   
    <meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
    <meta http-equiv="description" content="This is my page">

</head>

<body>
    count values is:<jsp:getProperty name="bean" property="num" />
    <jsp:setProperty name="bean" property="num" value="<%=bean.getNum()+1 %>"/>

    <%
   
        CountBean obj = null;
        String scope = null;
       
        obj = (CountBean)request.getAttribute("bean");
        if( obj != null ) scope = "request";
       
        obj = ( CountBean )session.getAttribute("bean");
        if( obj != null ) scope = "session";
       
        obj = ( CountBean )application.getAttribute("bean");
        if( obj != null ) scope = "application";
       
        if( scope == null ) scope = "page";
       
    %>
         <p> scope = <%=scope %> </p>
</body>
</html>

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

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

2.JavaBean在request作用域中:
    与pgae一样,客户每次访问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应用程序中了,从原有基础上增长。 )
                    scope = application


分享到:
评论

相关推荐

    JavaBean和JSP中的标准动作_总结与作业

    这个动作会在指定的作用域(page、request、session或application)中查找或创建JavaBean实例。例如: ```jsp &lt;jsp:useBean id="student" scope="session" class="model.StudentBean" /&gt; ``` 这里的`id`属性定义了...

    JavaBean在JSP中的典型应用

    - 在这里,`id`属性定义了JavaBean在JSP页面上的引用名,`class`属性指定了JavaBean的全限定类名,`scope`属性指定了JavaBean的作用范围,可以是`page`, `request`, `session`或`application`。 2. **设置和获取...

    jsp页面间通过request/session传值

    通过以上示例,我们可以清晰地了解到如何利用 JSP 中的 `request` 和 `session` 对象来实现数据在不同页面间的传递。此外,我们还学习了如何使用 JavaBean 来管理更复杂的数据结构。这些技术是构建动态 Web 应用程序...

    javaBean和JSP标准动作.rar

    pageContext session application ---- 应用作用域对象 page config ---- Servlet对象 exception ---- 异常处理对象 了解区分并使用隐式对象 JSP强有力的一个方面就是能够使用JavaBean组件体系。JavaBean往往...

    JavaBean在JSP中的应用.ppt

    这部分通常包含一系列与JavaBean在JSP中应用相关的练习题,目的是帮助学习者巩固所学知识,例如编写自己的JavaBean、设置和获取属性值、理解不同范围的JavaBean等。通过解答这些习题,可以加深对JavaBean和JSP结合...

    JavaBean 在jsp和serlvle中传递技术要点.doc

    总结,JavaBean在JSP和Servlet间的传递技术是通过`scope`属性控制其生命周期和作用范围,实现数据在不同组件间共享和传递。理解并熟练掌握这一技术,对于开发高效、可维护的Java Web应用至关重要。

    JSP_jsp_application实例

    在JSP应用中,"ex6.6_application"可能是一个具体的项目或者练习,用于演示如何在JSP环境中构建和管理应用程序。这个实例可能包含了多个JSP文件、Java源代码、配置文件和其他相关资源,帮助学习者理解和掌握JSP的...

    jsp事例jsp usebean session

    - `scope`:定义JavaBean的作用域,可以是`page`, `request`, `session` 或 `application`。 例如,如果你有一个名为 `UserBean` 的JavaBean,你可以这样在JSP中声明和实例化它: ```jsp &lt;jsp:useBean id="user" ...

    jsp获取javaBean数据+scope获取访问次数

    在JSP中,scope主要有四种:page、request、session和application。每种scope的生命周期和作用范围不同,对于访问次数这样的计数操作,通常使用session或application。 假设我们想记录一个用户的访问次数,可以将...

    JavaBean组件在JSP中的应用

    通过设置bean的作用域(page、request、session、application),可以在多个servlet或JSP之间共享bean。例如,`&lt;jsp:useBean id="beanName" scope="session" class="package.Class" /&gt;`将bean置于session作用域,...

    jsp调用javabean的问题

    这里的`id`属性定义了JavaBean在页面作用域内的引用名,`class`属性指定了JavaBean的全限定类名,`scope`属性定义了JavaBean的作用范围,可以是page、request、session或application。 当JSP遇到`&lt;jsp:useBean&gt;`...

    JavaBean四个作用域范围的详解

    JavaBean四个作用域范围的...JavaBean四个作用域范围的详解为:page、request、session和application。通过设置JavaBean对象的作用域,我们可以控制JavaBean对象的生命周期和作用范围,从而实现不同的业务逻辑和功能。

    完整版Java JSP web开发教程 08_JavaBean和JSP中(共26页).ppt

    比如,`&lt;jsp:useBean&gt;`动作用于在页面中创建或引用一个JavaBean,通过"id"属性定义Bean的标识,"class"属性指定Bean的类名,"scope"属性定义Bean的作用域,可以选择page、request、session或application。...

    JSP课件-javabean的使用教程

    其中,`id`是JavaBean的引用名,`class`是JavaBean的全限定类名,`scope`指定作用域(page, request, session或application)。 2. **初始化JavaBean**:如果JavaBean需要初始化数据,可以在`&lt;jsp:setProperty&gt;`...

    jsp+javabean

    这里,`id`属性定义了Bean的引用名,`class`指定Bean的完整类名,`scope`定义了Bean的作用范围(page, request, session, application)。 **4. JavaBean在JSP中的调用** JSP可以通过以下方式访问和操作JavaBean的...

    JSP之JavaBean实例程序

    这里,`id`是JavaBean在JSP页面中的引用名,`class`是JavaBean的全限定类名,`scope`定义了JavaBean的作用域,如`page`、`request`、`session`或`application`。 3. **设置和获取属性值**:使用`jsp:setProperty`和...

    第章JSP与JavaBean2022优秀文档.ppt

    Page范围的JavaBean只在当前页面有效,request范围的JavaBean在整个请求生命周期内有效,session范围的JavaBean在用户会话期间有效,而application范围的JavaBean在整个Web应用中都可用,直到服务器关闭。...

    JavaBean技术

    `&lt;jsp:useBean&gt;`标签用于在JSP页面中创建一个JavaBean实例,并通过设置其作用域将其存储在特定的范围内。这使得JavaBean可以在不同的请求之间共享数据。 **语法格式**: ```jsp &lt;jsp:useBean id="变量名" scope=...

    网上花店jsp+javabean

    在“网上花店jsp+javabean”项目中,当用户在前端页面(JSP)上进行操作,比如选择鲜花、填写收货信息并提交订单,这些请求会被JSP捕获并通过隐式对象(如`request`、`session`)传递到后台的JavaBean。JavaBean处理...

    SERVLETJSP25JSP使用javabean

    4. **作用域的理解**:介绍JSP中的四种作用域(page、request、session、application),解释它们的区别以及如何选择合适的作用域存放JavaBean。 5. **JavaBean在Servlet中的应用**:讲解如何在Servlet中创建和初始...

Global site tag (gtag.js) - Google Analytics