三、JSP之JavaBeans

来源:互联网 发布:淘宝心愿单是什么 编辑:程序博客网 时间:2024/05/16 01:25

一、Javabean简介

这里写图片描述

Javabean既可以封装数据同时也可以封装业务逻辑。

这里写图片描述


二、在JSP页面中使用Javabean

使用普通方法创建实例:

<%@ 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 'index.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>    <%        Users user = new Users();       user.setUsername("admin"); //设置用户名       user.setPassword("123456");//设置密码    %>    <h1>使用普通方式创建javabean的实例</h1>    <hr>       用户名:<%=user.getUsername() %><br>       密码:<%=user.getPassword() %><br>  </body></html>

这里写图片描述

这里写图片描述

useBeans例子:useBean.jsp

创建实例;若指定范围内存在该实例,那么也表示在指定的scope范围内使用某一对象,所以在页面中获取使用某一实例时,也必须包含这一句声明

<%@ 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 'index.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>使用useBean动作创建javabean的实例</h1>    <hr>       用户名:<%=myUsers.getUsername() %><br>       密码:<%=myUsers.getPassword() %><br>  </body></html>

setProperty和getProperty例子:login.jsp和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 '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>
<%@ 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>  <%--创建实例;也表示在指定的scope范围内使用某一对象,所以在页面中获取使用某一实例时,也必须包含这一句声明--%>    <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>

三、Javabean四个作用域范围

这里写图片描述

<%@ 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>
原创粉丝点击