web开发模式
学习web开发模式必须要先学习JavaBean(咖啡豆)
JavaBean是一种开发规范,也可以说是一门技术。
JavaBean就是一个普通的java类,但是java类只有符合以下规范才能称之为JavaBean:
1)必须提供一个无参的构造方法。
2)类中属性都必须私有化(用private修饰)。
3)该类提供公开的getter和setter方法。
JavaBean的作用:用于封装数据,保存数据。
JSP技术中提供了三个关于JavaBean组建动作的元素,即JSP标签分别为:
1)<jsp:useBean>标签:用于在JSP页面中指定的域范围内查找或者示例化一个JavaBean组件。如果存在则直接返回该JavaBean对象的引用;如果不存在则示例化一个新的JavaBean对象并将它以指定的名称存储到指定的域范围中。
<jsp:useBean id="beanName" class="package.class" scope="page|request|session|application"/>
常用标签属性:
id:用于指定JavaBean示例对象的引用名称和其存储在域范围中的名称。
class:用于指定JavaBean的完整类名(包名+类名)
scope:用于指定JavaBean实例对象存储的域范围。默认值为page。
2)<jsp:setProperty>标签用于设置和访问JavaBean对象的属性。
<jsp:setProperty name="beanName" { property="propertyName" value="{string | <%=expression%>}" | property="propertyName" [ param="parameterName" ] | param="*" }/>
常用标签属性:
name:用于指定JavaBean对象的名称。
property:用于指定JavaBean实例对象的属性名。
value:用于指定JavaBean对象的某个属性值,value的值可以为字符串也可以为表达式。为字符串时,该值会自动转化为JavaBean属性对应的类型,如果为表达式,则表达式的计算结果必须与所设置的JavaBean属性的类型一致。
param:用于将javaBean示例对象的某个属性值设为一个请求参数值。
3)<jsp:getProperty>标签用于读取JavaBean对象属性,即调用javaBean对象的getter方法,然后将读取的属性值转换为字符串后插入进输出的响应正文中。
<jsp:getProperty name="beanInstanceName" property="PropertyName" />
常用标签属性:
name:用于指定javaBean实例对象的名称,其值应与<jsp:useBean>标签中的id属性值相同。
property:用于指定javaBean实例中的属性名。
web开发模式
sun公司推出jsp技术后,同时也推荐了两种web应用程序的开发模式,一种是JSP+JavaBean模式,另一种是Servlet+JSP+JavaBean模式。
JSP+JavaBean模式适合开发业务逻辑不太复杂的web应用程序,这种模式下,JavaBean用于封装业务数据,JSP即负责处理用户的请求,有显示数据。
Servlet+JSP+JavaBean(MVC)模式适合开发复杂的web应用,在这种模式下,servlet负责处理用户请求,jsp负责数据显示,javaBean负责封装数据。
Servlet+JSP+JavaBean模式程序各个模块层次清晰,web开发推荐采用此种模式。
两种模式原理图如下:
MVC+三层结构是web开发中推荐使用的。
三层结构:表现层、业务逻辑层、数据持久层。