`
cakin24
  • 浏览: 1395299 次
  • 性别: Icon_minigender_1
  • 来自: 西安
社区版块
存档分类
最新评论

JavaBean四个作用域范围

    博客分类:
  • java
阅读更多
一 说明
使用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">
        <!--
        <link rel="stylesheet" type="text/css" href="styles.css">
        -->
 
  </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">
        <!--
        <link rel="stylesheet" type="text/css" href="styles.css">
        -->
 
  </head>
 
  <body>
    <jsp:useBean id="myUsers" class="com.po.Users" scope="page"/>
    <h1>setProperty动作元素</h1>
    <hr>
   <!--根据表单自动匹配所有的属性 -->
   <%--
   <jsp:setProperty name="myUsers" property="*"/> 
   --%>
   <!--根据表单匹配所有部分的属性 -->
   <%--
   <jsp:setProperty name="myUsers" property="username"/> 
   --%>
   <!--根表单无关,通过手工赋值给属性 -->
   <%--
   <jsp:setProperty name="myUsers" property="username" value="lisi"/>
   <jsp:setProperty name="myUsers" property="password" value="888888"/>
   --%>
   <!--通过URL传参数给属性赋值 -->
   <jsp:setProperty name="myUsers" property="username"/>
   <jsp:setProperty name="myUsers" property="password" param="mypass"/>
   <!-- 使用传统的表达式方式来获取用户名和密码 -->
   <%--    
       用户名:<%=myUsers.getUsername() %><br>
       密码:<%=myUsers.getPassword() %><br>
   --%>
   <!-- 使用getProperty方式来获取用户名和密码 -->
      用户名:<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">
<!--
        <link rel="stylesheet" type="text/css" href="styles.css">
        -->
 
</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()%><br>
       密码:<%=((Users)application.getAttribute("myUsers")).getPassword() %><br>
   --%>
        <%--
       用户名:<%=((Users)session.getAttribute("myUsers")).getUsername()%><br>
       密码:<%=((Users)session.getAttribute("myUsers")).getPassword() %><br>
   --%>
        <%--
       用户名:<%=((Users)request.getAttribute("myUsers")).getUsername()%><br>
       密码:<%=((Users)request.getAttribute("myUsers")).getPassword() %><br>
   --%>
        <%
                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>
 
四 测试结果


 

 

  • 大小: 114.6 KB
  • 大小: 39.6 KB
1
0
分享到:
评论

相关推荐

    JavaBean四个作用域范围的详解

    JavaBean四个作用域范围的详解 JavaBean是一种特殊的Java类,遵循JavaBean架构规范,具有 getter 和 setter 方法,可以在JSP页面中使用useBean标签来实例化JavaBean对象,并通过scope属性指定JavaBean的作用域范围...

    JavaBean的作用域.doc

    JavaBean的作用域是指它在应用程序中的可见性和生命周期,通常有四个不同的作用域:Page、Request、Session和Application。 1. **Page作用域**: Page作用域的JavaBean只在其创建的JSP页面内有效。这意味着一旦...

    四大属性范围内的javabean(完整版)实用资料.doc

    以下是四个主要的Javabean作用域: 1. **page**:当`scope`设置为`page`时,Javabean只在当前的JSP页面内有效。这意味着一旦页面处理完毕或者发生跳转,Javabean就会被销毁。在示例代码中,每刷新一次`page`范围内...

    javabean 学习(适合初学者)

    - **页面作用域 (page scope)**:JavaBean 只在一个 JSP 页面或一个 Servlet 中有效。 - **请求作用域 (request scope)**:JavaBean 在一次 HTTP 请求的生命周期内有效。 - **会话作用域 (session scope)**:...

    JavaBean学习资料

    JavaBean的生命周期取决于其在JSP中的作用域(`page`、`request`、`session`或`application`)。不同作用域决定了JavaBean的创建、使用和销毁时间: - `page`作用域:每个请求创建一次,请求结束时销毁。 - `...

    JavaBean的基本知识

    1. **作用域(Scope)**:JavaBean的作用域决定了它在多大范围内有效。常见的作用域包括: - `page`:仅在当前页面有效。 - `request`:在整个请求周期内有效。 - `session`:在用户会话期间有效。 - `...

    JavaBean组件程序设计

    `jsp:useBean`指令用于实例化或查找页面作用域内的JavaBean,`jsp:setProperty`用于设置JavaBean的属性值,`jsp:getProperty`则用于获取JavaBean的属性值。例如: ```jsp ``` 这里的`id`属性指定了JavaBean在...

    jsp调用javabean实例

    1. **加载JavaBean**:当JSP页面被请求时,`&lt;jsp:useBean&gt;`标签会创建一个`goodsbean`实例并存储在`application`作用域中。 2. **设置属性**:接下来,使用`setProduct`和`setPrice`方法设置商品的信息。 3. **输出...

    javabean基础知识

    - `scope`属性:指定JavaBean的有效范围,包括`page`、`request`、`session`和`application`四个选项。 2. **参数封装**:当表单提交后,可以通过JavaBean自动接收并保存表单数据。这通常是通过JSP内置的`request`...

    java+servlet+javabean实验报告(6)

    如果在指定的作用域内找不到,它会根据指定的类创建一个新的JavaBean实例。 4. `&lt;jsp:setProperty&gt;`:设置JavaBean属性的值,通常与`&lt;jsp:useBean&gt;`配合使用,用于给JavaBean的属性赋值。 5. `&lt;jsp:getProperty&gt;`...

    JavaBean及内省文档

    - `scope`:指定 JavaBean 实例对象的作用域范围(默认为 `page`)。 ##### 2. `&lt;jsp:setProperty&gt;` 标签 此标签用于设置 JavaBean 对象的属性值。 - **语法格式**: ```xml | &lt;%= expression %&gt;}" /&gt; ``` -...

    第章JSP与JavaBean2022优秀文档.ppt

    JavaBean存在四个作用域:page、request、session和application。Page范围的JavaBean只在当前页面有效,request范围的JavaBean在整个请求生命周期内有效,session范围的JavaBean在用户会话期间有效,而application...

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

    假设我们已经在请求作用域(request scope)中创建了`UserBean`,可以通过以下方式访问其属性: ```jsp ; charset=UTF-8" %&gt; UserBean userBean = (UserBean) request.getAttribute("userBean"); %&gt; 用户名: ...

    使用javabean创建您的网上日历本(1)_jsp实例

    这里,`id`属性指定了JavaBean实例的名称,`scope`属性设置了JavaBean的作用域为会话级别,`class`属性指定了JavaBean的具体类名。 #### 3. 设置日历参数 JavaBean提供了方法来设置日历的相关参数。例如,在示例...

    javabean的详解

    - `scope`: 设置JavaBean的作用域,如`page`、`request`、`session`或`application`。 - `class`: 指定JavaBean的全限定类名。 2. **设置JavaBean属性**: - 使用`&lt;jsp:setProperty&gt;`标签设置JavaBean的属性值。...

    SERVLETJSP25JSP使用javabean

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

    JavaBean技术(jsp).rar

    3. **作用域的理解**:讲解page、request、session和application四个不同的JSP作用域,以及在这些作用域中如何管理和共享JavaBean。 4. **属性事件处理**:介绍如何实现和触发属性改变事件,以及如何添加和移除事件...

    深入理解Javabean

    其中,`id`属性指定了JavaBean对象的标识符,`class`属性指定了JavaBean的完整类名,`scope`属性定义了该JavaBean对象的作用域。 3. **访问JavaBean属性**:使用`&lt;jsp:getProperty&gt;`标签获取JavaBean中的属性值,...

    MVC三层架构-Jsp+Servlet+Javabean

    2. **编写Servlet**:接着,创建一个Servlet,它接收HTTP请求,解析请求参数,调用JavaBean的方法进行业务处理,然后将处理结果保存到请求作用域或会话作用域。 3. **设计JSP**:创建JSP页面,通过EL(Expression ...

    jsp、servlet、javaBean区别.doc

    JavaBean的状态可以在四种作用域中管理:application、session、request和page,这些作用域决定了其生命周期和可见性。 1. **无需特定运行时环境**:JavaBean是普通的Java类,不需要特定的运行时支持。 2. **成员...

Global site tag (gtag.js) - Google Analytics