1.javabean简介

Javabeans就是符合某种特定规范Java类。使用Javabeans的好处是【解决代码的重复编写】,减少代码冗余,功能区分明确,提高代码的维护性。

2.javabean的设计原则

设计原则四点:公有类,属性私有,包含无参的共有构造方法,getter和setter方法封装属性

3.javabeans 的jsp动作

3.1什么是jsp 动作

(1)JSP动作元素为请求处理阶段提供信息。
(2)动作元素遵循XML元素的语法。有一个包含元素名的开始标签,可以有属性、可选内容,以及结束标签。

3.2jsp的动作分类JSP动作分为以下几类:
(1)与存取JavaBean有关的6个元素。 如:
<jsp:useBean> <jsp:setProperty> <jsp:getProperty>
(2)6个动作元素。 如:
<jsp:include> <jsp:forward> <jsp:param> <jsp:plugin> <jsp:params> <jsp:fallback>
(3)与Document有关的6个元素:
<jsp:root> <jsp:declaration> <jsp:scriptlet> <jsp:expression> <jsp:text> <jsp:output>
(4)用来动态生成XML元素标签的3个动作:
<jsp:attribute> <jsp:body> <jsp:element>
(5)用在Tag File中的2个元素:
<jsp:invoke> <jsp:dobody>

4.Javabean的使用方式

1)像使用普通Java类一样,创建javabean实例
1、创建一个web project项目。
2、在src文件下,创建一个包,在包中创建一个类,满足设计原则即可
3、在index.jsp页面中通过import导入之前创建的类(import="包名.类名")
4、通过使用new创建Javabean实例(创建对象)
5、使用set方法赋值
6、使用get方法取值

(2)使用Jsp的动作标签,如

1、Usebeans 动作

<jsp:useBean id="标识符(类似于Java中的变量名)" class="java类名(需要将包名一同写入)" scope="作用范围(默认是page)">

作用:在jsp页面中实例化或者在指定范围内使用javabean

4.2、<jsp:setProperty>动作:给已经实例化的Javabean对象的属性赋值,一共有四种形式:
      a、 需要表单提交属性:<jsp:setProperty name="Javabean实例名" property="*"/>:与之前页面提交的表单的所有属性进行匹配,若有与javabean类属性名相同的,则进行赋值。比如表坛提交了username="xxx",而javabean里有username属性,则对其进行赋值

b、 需要表单提交属性<jsp:setPropery name="Javabean实例名" property="javabean属性名" />:根据表单匹配部分属性(对指定的属性进行匹配)
      c、手动设置属性:<jsp:setProperty name = "Javabean实例名" property="Javabean属性名" value="BeanValue" />
      d、与request参数有关,通过url传参 :<jsp:setProperty name="Javabean实例名" property="propertyName" param="request对象中的参数名" />(跟request参数关联)

4.3、<jsp:getProperty>:获取指定javabean对象的属性值。

<jsp:getProperty name="JavaBean实例名" property=“属性名”/>

5.javabean的四个作用域范围

6.javabean代码实例:

  1. //login 登陆页面
  2. <%@ page language="java" contentType="text/html; charset=UTF-8"
  3. pageEncoding="UTF-8"%>
  4. <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
  5. <html>
  6. <head>
  7. <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
  8. <title>表单提交</title>
  9. </head>
  10. <body>
  11. <h1>post</h1>
  12. <form action="doLogin.jsp" name="loginForm" method="post">
  13. <table>
  14. <tr>
  15. <td>账号:</td>
  16. <td><input type="text" name="username" placeholder="请输入账号" /></td>
  17. </tr>
  18. <tr>
  19. <td>密码:</td>
  20. <td><input type="password" name="password" placeholder="请输入密码" /></td>
  21. </tr>
  22. <tr>
  23. <td><input type="submit" value="提交" /></td>
  24.  
  25. </tr>
  26. </table>
  27. </form>
  28.  
  29. </body>
  30. </html>
  31.  
  32. // dologin 判断登陆的页面
  33. <%@ page language="java" contentType="text/html; charset=UTF-8"
  34. pageEncoding="UTF-8"%>
  35. <% request.setCharacterEncoding("utf-8"); %>
  36. <!--通过 jsp:useBean 创建实例对象 -->
  37. <jsp:useBean id="myUser" class="com.j1702.entity.User" scope="session"></jsp:useBean>
  38.  
  39. <%-- <jsp:useBean id="myUserDAO" class="com.j1702.dao.UserDAO" scope="page"></jsp:useBean> --%>
  40.  
  41. <!-- 通过 jsp:setProperty 给实例对象设置值 -->
  42.  
  43. <jsp:setProperty property="*" name="myUser"/>
  44.  
  45. <!-- 通过实例对象去获取表单中提交的参数值 -->
  46. <br/>用户名:<%=myUser.getUsername() %>
  47. <br/>密码:<%=myUser.getPassword() %>
  48. <hr/>
  49. <%
  50.  
  51. /* if(myUserDAO.ifLogin(myUser)){
  52. response.sendRedirect("index.jsp");
  53. } */
  54.  
  55. if("admin".equals(myUser.getUsername())
  56. && "admin".equals(myUser.getPassword()))
  57.  
  58. {
  59. response.sendRedirect("index.jsp");
  60.  
  61. } else{
  62. out.println("你的输入有误"+"<a href='Login.jsp'>请重新输入</a>");
  63. }
  64.  
  65. %>
  66.  
  67. <a href="scope.jsp">前往作用域页面查看信息</a>
  68.  
  69. //index.jsp 登陆成功页面
  70.  
  71. <%@ page language="java" contentType="text/html; charset=UTF-8"
  72. pageEncoding="UTF-8"%>
  73. <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
  74. <html>
  75. <head>
  76. <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
  77. <title>Insert title here</title>
  78. </head>
  79. <body>
  80. 登陆成功
  81. </body>
  82. </html>
  83.  
  84. //scope.jsp 登陆不成功 查看作用域的页面
  85. <%@page import="com.j1702.entity.User"%>
  86. <%@ page language="java" contentType="text/html; charset=UTF-8"
  87. pageEncoding="UTF-8"%>
  88. <%-- <jsp:useBean id="myUser" class="com.j1702.entity.User" scope="page"></jsp:useBean>
  89. --%>
  90.  
  91. <%
  92. User myUser=(User) application.getAttribute("myUser");
  93. User myUser1=(User)session.getAttribute("myUser");
  94. User myUser2=(User)request.getAttribute("myUser");
  95. %>
  96. <h1>application 作用域</h1>
  97. <br/>用户名:<%=myUser.getUsername() %>
  98. <br/>密码:<%=myUser.getPassword() %>
  99. <hr>
  100.  
  101. <h1>session 作用域</h1>
  102. <br/>用户名:<%=myUser1.getUsername() %>
  103. <br/>密码:<%=myUser1.getPassword() %>
  104. <hr>
  105.  
  106. <%-- <h1>request 作用域</h1>
  107. <br/>用户名:<%=myUser2.getUsername() %>
  108. <br/>密码:<%=myUser2.getPassword() %>
  109. <hr> --%>

7.web 项目机构模型 Model1

7.1 Model1的简介

Model 1 模型出现前,整个Web应用的情况:几乎全部由jsp页面组成,jsp页面接收处理客户端请求,对请求处理后直接做出响应。

7.2 使用javabeans 封装数据域逻辑代码

jsp03( javabeans)的更多相关文章

  1. 找规律 ZOJ3498 Javabeans

    Javabeans are delicious. Javaman likes to eat javabeans very much. Javaman has n boxes of javabeans. ...

  2. JavaBeans、EJB和POJO详解

    转自:http://developer.51cto.com/art/200906/130814.htm J2EE学习者越来越多,J2EE本身技术不断在发展,涌现出各种概念,本文章试图从一种轻易理解的角 ...

  3. Java遇见HTML——JSP篇之JavaBeans

    一.JavaBean简介及设计原则 设计原则:公有类.无参的公有构造方法.属性私有.有getter and setter方法 实例: 二.Jsp动作元素 JSP动作标签分为五大类: 三.在JSP页面中 ...

  4. javabeans的运用

    javabeans的运用 对javabean的使用我开始严重的郁闷,跟着书上说的做,但是总是不成功.后来别人说我是基础不牢靠.我觉得应该从servlet学起然后再加进入JSP学是非常快的,对于JAVA ...

  5. [基础规范]JavaBeans规范

    本文来自维基百科:http://en.wikipedia.org/wiki/JavaBeans#JavaBean_conventions JavaBeans是Java语言中能够反复使用的软件组件,它们 ...

  6. Java Web 之javabeans

    Java遇见HTML——JSP篇之JavaBeans: http://www.cnblogs.com/Qian123/p/5277425.html

  7. Java各种对象(PO,BO,VO,DTO,POJO,DAO,Entity,JavaBean,JavaBeans)的区分

    PO:持久对象 (persistent object),po(persistent object)就是在Object/Relation Mapping框架中的Entity,po的每个属性基本上都对应数 ...

  8. Java开发各层对象专用名词含义 PO,VO,DAO,BO,DTO,POJO, BYO,Entity,JavaBean,JavaBeans

    Java的几种名词(PO,VO,DAO,BO,POJO)解释 PO:persistant object 持久对象.可以看成是与数据库中的表相映射的java对象.最简单的PO就是对应数据库中某个表中的一 ...

  9. Java学习之——JavaBeans

    1.什么是JavaBeans? JavaBeans是Java语言中可以重复使用的软件组件,它们是一种特殊的Java类,将很多的对象封装到了一个对象(bean)中.特点是 可序列化, 提供无参构造器, ...

随机推荐

  1. 20172330 2017-2018-1 《Java程序设计》第七周学习总结

    学号 2017-2018-1 <程序设计与数据结构>第七周学习总结 教材学习内容总结 这一章主要是对继承的学习: 继承是组织和创建类的基本技术,概念简单但影响重大,决定着面向对象软件的设计 ...

  2. Java核心技术点之接口

    1. 为什么使用接口 Java中的接口是一组对需求的描述.接口通过声明接口方法来对外宣布:“要想具有XX功能,就得按我说的做(即实现接口方法).” 而接口的实现类通过实现相应接口的方法来宣布:“我已经 ...

  3. TCP系列37—Keep Alive—1、TCP存活检测

    一.TCP存活(keepalive)检测的背景 对于TCP设计来说,如果一个客户端和服务器端建立连接后,不在进行数据传输,那么这个连接将会一直存在下去,理论上即使中间的路由器崩溃重启.或者中间的网络线 ...

  4. C# 执行bat文件

    private void RunBat(string batPath) { Process pro = new Process(); FileInfo file = new FileInfo(batP ...

  5. BAT批处理(四)

    网络命令 net use \\ip\ipc$ " " /user:" " 建立IPC空链接 net use \\ip\ipc$ "密码" / ...

  6. Oracle查询字段中有空格的数据

    一.问题说明 最近在给某个用户下的表批量添加注释时,在程序中将注释名用trim()过滤一遍就可以了,但是在程序执行成功后怎么检测添加的注释名是否有空格存在呢? 二.解决方法 1.SELECT * FR ...

  7. AngularJS 学习笔记--01

    学习 AngularJS 要先了解 MVC 模式 , 即 " 模型--视图--控制器 " . 模型: 包含了需要用到的数据 ; 有两种广义上的模型 : 视图模型 , 只表示从控制器 ...

  8. Delphi 的绘图功能[8] - TextOut、TextWidth、TextHeight

    unit Unit1; interface uses   Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, For ...

  9. 【bzoj2259】[Oibh]新型计算机 堆优化Dijkstra

    题目描述 Tim正在摆弄着他设计的“计算机”,他认为这台计算机原理很独特,因此利用它可以解决许多难题. 但是,有一个难题他却解决不了,是这台计算机的输入问题.新型计算机的输入也很独特,假设输入序列中有 ...

  10. 【Todo】【转载】JVM学习

    先参考如下这个系列<聊聊JVM> http://blog.csdn.net/column/details/talk-about-jvm.html