`

JAVA WEB学习笔记(二)-JavaBean学习专题

    博客分类:
  • J2EE
阅读更多

一、JavaBean的优点:
*************************************************************************************
A.不需要用到Java语法
B.对象的共享更简单
C.请求参数与对象属性之间可以方便地对应起来
*************************************************************************************

二、JavaBean的特点:
*************************************************************************************
A.bean类必须拥有一个零参数的(默认)构造函数:JSP元素创建bean时,会调用默认的构造函数。实际的应用中经常会由servlet创建bean,JSP页面只是从中查询数据。
B.bean类不应该有公开的实例变量(字段):要成为JSP可以访问的bean,相应的类应该使用访问器方法(access method)取代对实例变量的直接访问。
C.持续性的值应该通过getXxx和setXxx方法来访问:尽管我们可以使用JSP script或表达式访问类的任意方法,但是,访问bean的标准JSP只能使用那些遵循getXxx/setXxx或isXxx/setXxx命名约定的方法。
*************************************************************************************

三、JavaBean的构建:
*************************************************************************************
A.<jsp:useBean id = “name”class = “package.Class”/>
这个语句表示:实例化由Class指定的类,并将实例化后的对象绑定到_jspService中的变量,变量的名字由id指定。
B.一定要使用完全限定类名——包括包名的类名。不管你是否使用<%@ page import…%>引入包,都要满足这个要求。
C.jsp:useBean动作规定:仅当不存在相同id和scope的bean时才实例化新的对象
*************************************************************************************

四、bean类的安装:
*************************************************************************************
A.单个bean类的正确位置是WEB-INF/classes/subdirectoryMatchingPackageName
B.含有bean类的JAR文件应该放在WEB-INF/lib目录中
*************************************************************************************

五、jsp:useBean中beanName、type选项的使用:
*************************************************************************************
A.beanName:即可以指向类,也可以指定包含序列化bean对象的文件
B.type:    当希望所要声明的变量的类型是实际bean类的超类,或是bean实现的接口。应该使用type属性来控制这种声明。此时type中声明的类型是class中指明的类型的父类或者接口,即用子类的构造方法初始化一个父类对象-多态。例如:
    <jsp:useBean id = “thread1” class = “mypackage.MyClass”
type  = “java.lang.Runnable”>
*************************************************************************************

六、jsp:useBean的语法规则:
*************************************************************************************
A.属性名大小写敏感
B.单引号和双引号都可以使用(但必须使用其中的一种)
C.标签的结束标记为/>,不只是>
*************************************************************************************

七、JavaBean属性的设置:
*************************************************************************************
A.<jsp:setProperty name = “beanName”property = “beanProperty”value = “beanValue”/>
B.jsp:setProperty的value属性允许给出的值为请求期间的表达式
*************************************************************************************

八、将单个属性与输入参数关联:
*************************************************************************************
A.可以不使用value属性,而是使用param指定一个输入参数,被指定的请求参数的值字段用作bean属性的值,由String到基本类型和封装类的类型转换都自动执行。

B.如果请求中没有指定的参数,则不采用任何动作(系统并不传递null到相关联的属性),例如:
<jsp:setProperty name = “bean1”property = “property1”param = “property1”>

C.如果请求参数的名称和bean属性的名称相同,还可以更进一步地简化这段代码。这种情况下可以省略param
*************************************************************************************

九、将所有的属性与请求参数关联:
*************************************************************************************
A.JSP允许将所有的属性与同名的请求参数关联起来。我们所要做的只是以”*”作为property参数的值。例如:<jsp:setProperty name = “entry”property = “*”/>

B.系统从请求参数开始查找匹配的bean属性,而非采用相反的方式。因此,对于没有请求参数与之匹配的属性,则不采用任何动作。这种行为意味着:表单bean不必一次填充完毕,相反,一次提交可以填写bean的部分属性,另一个表单填写其他属性。以此类推。但要使用这项功能,需要将bean在多个页面中共享。
*************************************************************************************

十、使用属性与请求参数自动关系方式的注意点:
*************************************************************************************
A.输入参数缺失时不采取任何动作:系统不会提供null作为属性的值。因此在设计bean时,一般
要为其设置可以识别的默认值,以便可以确定某个属性是否修改过

B.自动类型转换不能像手动类型转换那样那个防止不合法的值:在使用自动类型转换时,应该考虑使错误处理页面或显示使用try/catch块来处理异常数据

C.bean属性的名称和请求参数大小写敏感:属性名和请求参数的名字必须精确匹配
*************************************************************************************

十一、共享bean
*************************************************************************************
使用scope时,系统首先检查指定的位置是否存在指定名称的bean。仅当系统找不倒现有的bean时,才会创建新的bean.scope属性有4个可选值:page、request、session、application
*************************************************************************************

十二、bean的scpoe = “page”:
*************************************************************************************
A.这个值表示:在处理当前请求期间,除了要将bean对象绑定到局部变量外,还应该将它放在PageContext对象中。

B.将此对象存储在此表示,servlet可以通过调用预定义变量pageContext的getAttribute方法访问它.由于每个页面和每个请求都有不同的PageContext对象,

C.所有scope = “page”表示不共享bean,也就是针对每个请求都创建新的bean
*************************************************************************************

十三、bean的scope = “request”:
*************************************************************************************
A.这个值表示:在处理当前请求期间,除了要将bean对象绑定到局部变量外,还应该将它放在
HttpServletRequest对象中,从而可以通过getAttribute方法访问它。

B.在使用jsp:include、jsp:forward、RequestDispatcher的include或forward方法时,两个JSP页面,或JSP页面和servlet将会共享请求对象。而scope = “page”的bean则无法共享请求对象
*************************************************************************************

十四、bean的scope = “session”:
*************************************************************************************
A.这个值表示:除了要将bean对象绑定到局部变量之外,还要将它存储到与当前请求相关联的HttpSession对象中,我们可以使用getAttribute获取存储在HttpSession中的对象

B.bean存储在HttpSession对象中,若该会话不失效(如超时)则bean的属性可跨请求持续
*************************************************************************************

十五、bean的scope = “application”:
*************************************************************************************
A.这个值表示:除了要将bean对象绑定到局部变量之外,还要将它存储在ServletContext中,通过预定义application变量或通过调用getServletContext获得。

B.ServletContext由Web应用中多个servlet和JSP页面共享。ServletContext中的值可以用getAttribute方法获得。
*************************************************************************************

十六、根据条件构建bean:
*************************************************************************************
A.根据条件构建bean:<jsp:useBean…>statements</jsp:useBean>

B.jsp:useBean的起始标签和结束标签之间的语句只在创建新的bean时执行,如果使用已有的bean,则不执行。由于jsp:useBean调用默认(零参数)构造函数,因此,我们经常需要在bean创建之后修改它的属性。为了模拟构造函数,应该在bean首次创建时执行这些修改,而不应该在访问现存(或更新后)的bean时执行。

C.多个页面都可以在jsp:useBean的起始标签和结束标签之间包含jsp:setProperty语句;只有被第一个访问的页面才会执行这些语句。
*************************************************************************************

本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/pengpenglin/archive/2006/05/02/706098.aspx

分享到:
评论

相关推荐

    java学习笔记--初级

    在 Java 学习的初级阶段,了解和掌握基础的 Web 开发框架是非常重要的。Struts 是一款经典的 MVC(Model-View-Controller)框架,适用于构建企业级的 Web 应用程序。本文将围绕 Struts 和 MVC 模式展开,帮助初学者...

    Java web基础学习笔记

    这篇学习笔记将主要围绕JSP展开,探讨其基本概念、语法以及如何在实际开发中运用。 JSP(JavaServer Pages)是一种动态网页技术,它允许开发者在HTML或XML文档中嵌入Java代码,从而实现服务器端的动态内容生成。JSP...

    Java Web ppt 开发 J2SE 学习笔记

    Java Web ppt 开发和J2SE学习笔记涵盖了Java编程的基础以及如何将其应用于Web应用程序的开发。J2SE,即Java 2 Platform, Standard Edition,是Java平台的核心部分,提供了用于开发和运行桌面应用、服务器端应用和...

    Java框架学习笔记

    ### Java框架学习笔记 #### 第一章:框架技术概述 - **SSH框架组合**:SSH是Struts + Spring + Hibernate的简称,这三个框架在Java Web应用开发中非常常见,它们各自解决了不同的问题,并且能够很好地协同工作。 ...

    j2ee学习笔记-j2ee学习笔记

    **J2EE学习笔记概述** J2EE(Java 2 Platform, Enterprise Edition)是一个由Sun Microsystems(现已被Oracle收购)开发的平台,主要用于构建企业级的分布式应用系统。它提供了服务器端组件模型、服务和API,支持...

    Java框架学习笔记.pdf

    通过上述内容,我们可以看出Java框架学习笔记主要围绕Web开发中经常使用的技术框架以及相关的编程模型进行讲解。这些框架和概念对于Java开发者来说是基本功,对于理解Web应用程序的构建和部署至关重要。通过学习这些...

    张龙老师Java Web学习文档

    张龙老师的Java Web学习文档可能涵盖了以上这些知识点,通过课堂笔记和实例讲解,帮助学习者系统地掌握Java Web开发的基础和进阶技巧。学习Java Web不仅涉及技术层面,还包括如何组织代码、优化性能以及遵循最佳实践...

    java学习笔记整理

    ### Java学习笔记整理 #### 1. Java简介 ##### 1.1 计算机编程和开发语言 计算机系统由硬件系统和软件系统组成。软件系统又进一步细分为系统软件和应用软件。其中,系统软件包括操作系统、编译系统、数据库系统等...

    MLDN JAVA-WEB开发实战笔记

    《MLDN JAVA-WEB开发实战笔记》...通过《MLDN JAVA-WEB开发实战笔记》的学习,读者不仅可以掌握Java Web开发的基础,还能进一步提升在企业级应用开发中的实践技能。无论是初学者还是有经验的开发者,都能从中受益匪浅。

    Java学习笔记、SSH学习笔记

    【Java学习笔记、SSH学习笔记】是一份涵盖了Java Web开发中的关键技术和框架的资源集合,主要涉及了JSP(JavaServer Pages)、JSTL(JavaServer Pages Standard Tag Library)、EL(Expression Language)以及SSH...

    全套达内学习笔记(java)

    【Java私塾Java初级教程PPT1-3章.rar】:这部分内容可能涵盖了Java语言的基础知识...通过系统学习,不仅可以掌握Java编程,还能了解相关的数据库、Web开发和企业级框架,为成为一名全面的Java开发工程师打下坚实基础。

    Java学习笔记-个人整理的

    {2.14}JavaBean规范}{66}{section.2.14} {3}常用类}{67}{chapter.3} {3.1}Object类}{67}{section.3.1} {3.1.1}\ttfamily toString}{67}{subsection.3.1.1} {3.1.2}\ttfamily equals}{67}{subsection.3.1.2} {...

    JAVA学习笔记1

    ### JAVA学习笔记1:深入解析J2EE框架与关键技术 #### J2EE模式与Value Object概念 在JAVA学习之旅中,深入理解J2EE(Java 2 Platform, Enterprise Edition)框架是至关重要的一步。J2EE是专为开发企业级应用而...

    web学习笔记 —— jsp基础语法

    本文将深入探讨"Web学习笔记——jsp基础语法"这一主题,重点关注JSP(JavaServer Pages)的基础知识。JSP是Java平台上的动态网页技术,它允许开发者将HTML、XML或其他标记语言与Java代码结合,以创建交互式的Web应用...

    Java框架技术学习笔记

    ### Java框架技术学习笔记 #### 一、框架技术概述 在现代软件开发中,使用框架可以极大地提高开发效率,减少重复工作。对于Java Web开发来说,Struts、Hibernate、Spring和Ajax是四个非常重要的框架。 - **SSH...

    java笔记.txt

    ### Java EE 学习笔记知识点总结 #### 一、Java Web基础 - **Web应用概述:** - Web应用是通过网络(通常是互联网)提供服务的应用程序。 - Web应用通常由服务器端技术和客户端技术组成。 - **JSP (Java Server...

    web学习笔记.pdf

    Web技术的学习笔记涵盖了从基础的JSP引擎工作原理到高级的框架如Struts1和Struts2的使用。首先,JSP(JavaServer Pages)是Java平台上的动态网页技术,当Web容器接收到以JSP为扩展名的URL请求时,会交由JSP引擎处理...

    JAVA-JSP学习笔记.doc

    【JAVA-JSP学习笔记】 1. **JSP中去除字符串空格**:在JSP中,我们可以使用`String.trim()`方法来去除字符串两端的空格,如果需要去除所有空格,可以使用`String.replaceAll("\\s", "")`。 2. **JSP页面间参数传递...

Global site tag (gtag.js) - Google Analytics