模型1
使用JSP+JavaBeans技术将页面显示和业务逻辑处理分开。JSP实现页面的显示,JavaBean对象用来承载数据和实现商业逻辑。
JSP页面独自响应请求并将处理结果返回给客户,而所有的数据都通过JavaBean来处理。JSP实现页面的显示。
在模型1中,JSP页面嵌入了流程控制代码和部分的逻辑处理代码,我们可以将这部分代码提取出来,放到一个单独的角色中,这个角色就是控制器角色,而这样的Web构架就是模型2了。模型2符合MVC构架模式。
MVC构架有助于将应用程序分割成若干逻辑部件,使程序设计变得更加容易。
控制器的角色由Servlet来实现,视图的角色由JSP页面来实现,模型的角色由JavaBean来实现。
Servlet充当控制器的角色,接受请求,负责实例化JavaBean对象对业务逻辑进行处理,并为JSP页面准备承载了数据的JavaBean对象,接着将请求分发给适当的JSP页面来产生响应。JSP视图可以使用<jsp:userBean>和<jsp:getProperty>动作对象来得到JavaBean中的数据,呈现给用户。
Servlet负责创建和调用JavaBean的方法,并为JSP页面准备模型数据。数据的传递过程是:Servlet将JavaBean对象保存到范围对象中,然后JSP页面通过<jsp:userBean>和<jsp:getProperty>动作元素来得到JavaBean中的数据。