JavaBeans

JSP动作元素

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


JavaBean设计原则

  • 公有类
  • 无参公有构造方法
  • 属性私有
  • getter() setter()方法

什么是JSP动作

第一类是与存取 Java Bean有关的,包括:

第二类是JSP1.2就开始有的基本元素,包括6个动作元素

第三类是JSP2.0新增加的元素,主要与 JSP Document有关,包括六个元素

第四类是JSP2.0新增的动作元素,主要是用来动态生成XML元素标签的值,包括3个动作

第五类是JsP2.0新增的动作元素,主要是用在 Tag File中,有2个元素


jsp:useBeans#

作用:在jsp页面中实例化或者在指定范围内使用javabean:
<jsp:useBean id="标识符" class="java类名" scope="作用范围"/>
标识符即为对象名

scope属性值 作用域范围
page 仅当前页面有效
request 可以通过HttpRequest.getAttribute(标识符)方法取得JavaBean对象或<jsp:useBean id=”标识符” class=”java类名” scope=”request”>,前提条件为使用服务器内部转发
session 可以通过HttpSession.getAttribute(标识符)方法取得JavaBean对象或<jsp:useBean id=”标识符” class=”java类名” scope=”session”>
application 可以通过application.getAttribute(标识符)方法取得JavaBean对象或<jsp:useBean id=”标识符” class=”java类名” scope=”application”>

测试视频地址


jsp:setProperty

作用:给已经实例化的JavaBean对象的属性赋值,一共有四种形式
<jsp:setProperty name="JavaBean实例名" property="*" />(跟表单关联)
name中的实例名则为实例化的对象
根据表单内容匹配,对象属性与表单中的name一一匹配自动调用set方法赋值。
<jsp:setProperty name="JavaBean实例名" property="JavaBean属性名"/>(跟表单关联)
与前一个类似,但是这里是部分匹配只取property中的属性。
<jsp:setProperty name="JavaBean实例名" property="JavaBean属性名" value="BeanValue"/>(手工设置)
将value值赋给property中的属性,与表单无关。
<jsp:setproperty name="JavaBean实例名" property="propertyName" param="request对象中的参数名"/>(跟request参数关联)
根据url传参,param参数中与url传递的参数匹配,例如:
表单中action="dologin.jsp?mypass=999999"
<jsp:setproperty name="myUser" property="password" param="mypass"/>
此时仅获取密码,并且是从url中,如果希望账号通过表单获取则可以加上
<jsp:setproperty name="myUser" property="username"/>

jsp:getProperty

作用:获取指定JavaBean对象的属性值。
<jsp:getProperty name="JavaBean实例名" property="JavaBean属性名"/>
与对应get方法效果相同


Model 1简介

model 1模型出现前,整个Web应用的情况:几乎全部由JSP页面组成,JSP页面接收处理客户端请求,对请求处理后直接做出响应。
弊端:在界面蹭充斥着大量的业务逻辑代码和数据访问层代码,Web程序的可扩展性和可维护性非常差。
Javabean的出现可以使jsp页面中使用JavaBean封装的数据或者调用JavaBean的业务逻辑代码,这样大大提升了程序的可维护性。

JavaBeans


实现用户登录的一个案例(jsp+javabean)

阶段案例视频地址