当Spring框架不存在时,我们过去如何开发Web应用程序?

时间:2019-05-14 18:04:08

标签: spring web-applications

当Spring框架不存在时,我们如何使用它来开发Web应用程序? 我从Spring MVC开始开发Web应用程序,但是当Spring不在时我们如何开发Web应用程序?

1 个答案:

答案 0 :(得分:0)

有人用JSP编写了所有内容。通常在服务器端包含时添加业务逻辑。这称为model 1

  

尽管从概念上讲很简单,但是该体系结构不利于大规模应用程序的开发,因为不可避免地,每个JSP中都会重复很多功能。而且,模型1架构不必要地将应用程序的业务逻辑和表示逻辑联系在一起。

复杂性的下一个层次是使用servlet作为控制器层。这是model 2

  

JSP Model 2是Java Web应用程序设计中使用的复杂设计模式,它将内容的显示与用于获取和操纵内容的逻辑分开。由于模型2导致逻辑与显示之间的分离,因此它通常与模型-视图-控制器(MVC)范例相关联。

然后出现了诸如Struts之类的Web框架,因此您具有类似于Spring Web MVC的功能,因为您有一个调度程序Servlet,它向控制器(Struts Actions)发送请求,但没有DI的概念。从struts动作中调用了执行后端逻辑的硬编码单例。

哦,然后有了EJB。有像服务定位器一样的EJB Home对象,有像服务一样的无状态会话bean。有很多配置,无论是否需要远程处理,都需要进行远程处理,并且对其进行测试非常困难,我们不得不使用Cactus,OpenEJB和XDoclet。而且有状态会话Bean太糟糕了,而实体Bean几乎没有人能弄清楚如何进行工作,一旦工作了,就很清楚这是一个坏主意。 EJB代码使得没有应用程序服务器就无法进行测试,并且使用EJB将应用程序从一台应用程序服务器移植到另一台应用程序服务器很困难。

EJB数据访问非常痛苦,人们退回到了JDBC。也有类似Torque和Toplink的ORM。在这一时期末期,Hibernate诞生了,这是一个很大的进步,但是要开始工作具有挑战性。

由于创建所有这些复杂的代码非常耗时,因此某些人制作了代码生成器或使用了IDE来为此编写代码。但这是相同的错误代码,只是创建速度更快。

因此,总而言之,您拥有无法测试的侵入性基础结构代码,而这正是Spring旨在解决的问题。