一 说明
使用useBeans的scope属性可以用来指定javabean的作用范围。
二 四个作用范围
三 代码
1、login.jsp
<%@
page
language
=
"java"
import
=
"java.util.*"
contentType
=
"text/html; charset=utf-8"
%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+
"://"
+request.getServerName()+
":"
+request.getServerPort()+path+
"/"
;
%>
DOCTYPE
HTML
PUBLIC
"-//W3C//DTD HTML 4.01 Transitional//EN">
<
html
>
<
head
>
<
base
href
=
"
<%=
basePath
%>
"
>
<
title
>
My JSP 'login.jsp' starting page
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
>
<
h1
>
系统登录
h1
>
<
hr
>
<
form
name
=
"loginForm"
action
=
"dologin.jsp?mypass=999999"
method
=
"post"
>
<
table
>
<
tr
>
<
td
>
用户名:
td
>
<
td
><
input
type
=
"text"
name
=
"username"
value
=
""
/>
td
>
tr
>
<
tr
>
<
td
>
密码:
td
>
<
td
><
input
type
=
"password"
name
=
"password"
value
=
""
/>
td
>
tr
>
<
tr
>
<
td
colspan
=
"2"
align
=
"center"
><
input
type
=
"submit"
value
=
"登录"
/>
td
>
tr
>
table
>
form
>
body
>
html
>
2、dologin.jsp
<%@
page
language
=
"java"
import
=
"java.util.*"
contentType
=
"text/html; charset=utf-8"
%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+
"://"
+request.getServerName()+
":"
+request.getServerPort()+path+
"/"
;
%>
DOCTYPE
HTML
PUBLIC
"-//W3C//DTD HTML 4.01 Transitional//EN">
<
html
>
<
head
>
<
base
href
=
"
<%=
basePath
%>
"
>
<
title
>
My JSP 'dologin.jsp' starting page
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
>
<
jsp:useBean
id
=
"myUsers"
class
=
"com.po.Users"
scope
=
"page"
/>
<
h1
>
setProperty动作元素
h1
>
<
hr
>
<%--
--%>
<%--
--%>
<%--
--%>
<
jsp:setProperty
name
=
"myUsers"
property
=
"username"
/>
<
jsp:setProperty
name
=
"myUsers"
property
=
"password"
param
=
"mypass"
/>
<%--
用户名:<%=myUsers.getUsername() %>
密码:<%=myUsers.getPassword() %>
--%>
用户名:
<
jsp:getProperty
name
=
"myUsers"
property
=
"username"
/>
<
br
>
密码:
<
jsp:getProperty
name
=
"myUsers"
property
=
"password"
/><
br
>
<
br
>
<
br
>
<
a
href
=
"testScope.jsp"
>
测试
javabean
的四个作用域范围
a
>
<%
request.getRequestDispatcher(
"testScope.jsp"
).forward(request, response);
%>
body
>
html
>
3、testScope.jsp
<%@
page
language
=
"java"
import
=
"java.util.*"
contentType
=
"text/html; charset=utf-8"
%>
<%@
page
import
=
"com.po.Users"
%>
<%
String path = request.getContextPath();
String basePath = request.getScheme() +
"://"
+ request.getServerName() +
":"
+ request.getServerPort()
+ path +
"/"
;
%>
DOCTYPE
HTML
PUBLIC
"-//W3C//DTD HTML 4.01 Transitional//EN">
<
html
>
<
head
>
<
base
href
=
"
<%=
basePath
%>
"
>
<
title
>
My JSP 'testScope.jsp' starting page
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
>
<
h1
>
Javabean
的四个作用域范围
h1
>
<
hr
>
<
jsp:useBean
id
=
"myUsers"
class
=
"com.po.Users"
scope
=
"page"
/>
用户名:
<
jsp:getProperty
name
=
"myUsers"
property
=
"username"
/><
br
>
密码:
<
jsp:getProperty
name
=
"myUsers"
property
=
"password"
/><
br
>
<
hr
>
<%--
用户名:<%=((Users)application.getAttribute("myUsers")).getUsername()%>
密码:<%=((Users)application.getAttribute("myUsers")).getPassword() %>
--%>
<%--
用户名:<%=((Users)session.getAttribute("myUsers")).getUsername()%>
密码:<%=((Users)session.getAttribute("myUsers")).getPassword() %>
--%>
<%--
用户名:<%=((Users)request.getAttribute("myUsers")).getUsername()%>
密码:<%=((Users)request.getAttribute("myUsers")).getPassword() %>
--%>
<%
String username =
""
;
String password =
""
;
if
(pageContext.getAttribute(
"myUsers"
) !=
null
) {
username = ((Users) pageContext.getAttribute(
"myUsers"
))
.getUsername();
password = ((Users) pageContext.getAttribute(
"myUsers"
))
.getPassword();
}
%>
用户名:
<%=
username
%>
<
br
>
密码:
<%=
password
%>
<
br
>
body
>
html
>
四 测试结果