MVC (Model View Controller)

MVC模式中,M是指业务模型,V是指用户界面,C则是控制器,使用MVC的目的是将M和V的实现代码分离,从而使同一个程序可以使用不同的表现形式。

Model 1 Architecture

image-20221211110827545

JSP页面单独处理传入的请求并将响应发回。由于数据访问是通过访问javabean进行的,因此表示和内容仍然是分离的

优点:适用于简单应用,易于实现。

缺点:如果处理很复杂,可能需要在JSP页面中嵌入大量的scriptlet代码,这使得维护很困难

Model 2 Architecture(MVC)

image-20221211110937260

将servlet用于流程密集型任务,将JSP用于表示,而javabean则为数据的逻辑行为建模

优点:适用于大型应用,允许使用可重用的软件组件,易于维护和测试

缺点:如果控制器的代码改变了,那么就需要重新编译它的代码并重新部署应用程序。

Typical behaviour in an MVC approach

Servlet responds to initial request

Calls code that extracts or creates user data and places the data in JavaBeans.

Servlet存储javabean

—基于请求的共享—将JavaBean存储在请求对象中。

—基于会话的共享—将JavaBean存储在会话对象中。

—基于应用程序的共享—将JavaBean存储在ServletContext对象。

Servlet将请求转发到JSP页面以显示结果。-然后该页面从存储的JavaBean中获取数据。

JSPs do not modify objects:– It uses jsp:getProperty but not jsp:setProperty.