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
分享到:
相关推荐
这个动作会在指定的作用域(page、request、session或application)中查找或创建JavaBean实例。例如: ```jsp <jsp:useBean id="student" scope="session" class="model.StudentBean" /> ``` 这里的`id`属性定义了...
- 在这里,`id`属性定义了JavaBean在JSP页面上的引用名,`class`属性指定了JavaBean的全限定类名,`scope`属性指定了JavaBean的作用范围,可以是`page`, `request`, `session`或`application`。 2. **设置和获取...
通过以上示例,我们可以清晰地了解到如何利用 JSP 中的 `request` 和 `session` 对象来实现数据在不同页面间的传递。此外,我们还学习了如何使用 JavaBean 来管理更复杂的数据结构。这些技术是构建动态 Web 应用程序...
pageContext session application ---- 应用作用域对象 page config ---- Servlet对象 exception ---- 异常处理对象 了解区分并使用隐式对象 JSP强有力的一个方面就是能够使用JavaBean组件体系。JavaBean往往...
这部分通常包含一系列与JavaBean在JSP中应用相关的练习题,目的是帮助学习者巩固所学知识,例如编写自己的JavaBean、设置和获取属性值、理解不同范围的JavaBean等。通过解答这些习题,可以加深对JavaBean和JSP结合...
总结,JavaBean在JSP和Servlet间的传递技术是通过`scope`属性控制其生命周期和作用范围,实现数据在不同组件间共享和传递。理解并熟练掌握这一技术,对于开发高效、可维护的Java Web应用至关重要。
在JSP应用中,"ex6.6_application"可能是一个具体的项目或者练习,用于演示如何在JSP环境中构建和管理应用程序。这个实例可能包含了多个JSP文件、Java源代码、配置文件和其他相关资源,帮助学习者理解和掌握JSP的...
- `scope`:定义JavaBean的作用域,可以是`page`, `request`, `session` 或 `application`。 例如,如果你有一个名为 `UserBean` 的JavaBean,你可以这样在JSP中声明和实例化它: ```jsp <jsp:useBean id="user" ...
在JSP中,scope主要有四种:page、request、session和application。每种scope的生命周期和作用范围不同,对于访问次数这样的计数操作,通常使用session或application。 假设我们想记录一个用户的访问次数,可以将...
通过设置bean的作用域(page、request、session、application),可以在多个servlet或JSP之间共享bean。例如,`<jsp:useBean id="beanName" scope="session" class="package.Class" />`将bean置于session作用域,...
这里的`id`属性定义了JavaBean在页面作用域内的引用名,`class`属性指定了JavaBean的全限定类名,`scope`属性定义了JavaBean的作用范围,可以是page、request、session或application。 当JSP遇到`<jsp:useBean>`...
JavaBean四个作用域范围的...JavaBean四个作用域范围的详解为:page、request、session和application。通过设置JavaBean对象的作用域,我们可以控制JavaBean对象的生命周期和作用范围,从而实现不同的业务逻辑和功能。
比如,`<jsp:useBean>`动作用于在页面中创建或引用一个JavaBean,通过"id"属性定义Bean的标识,"class"属性指定Bean的类名,"scope"属性定义Bean的作用域,可以选择page、request、session或application。...
其中,`id`是JavaBean的引用名,`class`是JavaBean的全限定类名,`scope`指定作用域(page, request, session或application)。 2. **初始化JavaBean**:如果JavaBean需要初始化数据,可以在`<jsp:setProperty>`...
这里,`id`属性定义了Bean的引用名,`class`指定Bean的完整类名,`scope`定义了Bean的作用范围(page, request, session, application)。 **4. JavaBean在JSP中的调用** JSP可以通过以下方式访问和操作JavaBean的...
这里,`id`是JavaBean在JSP页面中的引用名,`class`是JavaBean的全限定类名,`scope`定义了JavaBean的作用域,如`page`、`request`、`session`或`application`。 3. **设置和获取属性值**:使用`jsp:setProperty`和...
Page范围的JavaBean只在当前页面有效,request范围的JavaBean在整个请求生命周期内有效,session范围的JavaBean在用户会话期间有效,而application范围的JavaBean在整个Web应用中都可用,直到服务器关闭。...
`<jsp:useBean>`标签用于在JSP页面中创建一个JavaBean实例,并通过设置其作用域将其存储在特定的范围内。这使得JavaBean可以在不同的请求之间共享数据。 **语法格式**: ```jsp <jsp:useBean id="变量名" scope=...
在“网上花店jsp+javabean”项目中,当用户在前端页面(JSP)上进行操作,比如选择鲜花、填写收货信息并提交订单,这些请求会被JSP捕获并通过隐式对象(如`request`、`session`)传递到后台的JavaBean。JavaBean处理...
4. **作用域的理解**:介绍JSP中的四种作用域(page、request、session、application),解释它们的区别以及如何选择合适的作用域存放JavaBean。 5. **JavaBean在Servlet中的应用**:讲解如何在Servlet中创建和初始...