将业务逻辑保持在JSP外部的优势是什么,因为 JSP 主要用于展示?我们仍然会看到业务逻辑写在 JSP 中,所以我想知道将业务逻辑从 JSP 移出可以获得什么好处。
将业务逻辑保持在JSP外部的优势是什么,因为 JSP 主要用于展示?我们仍然会看到业务逻辑写在 JSP 中,所以我想知道将业务逻辑从 JSP 移出可以获得什么好处。
我不确定,但可能是这个原因:
它是为了可重用性的目的。
JSP应该只用于展示目的,我们的HTML设计师,后来设计页面的人对Java编码不熟悉,会感到不舒服。在Servlet中编写所有业务逻辑使代码可重用,并且在JSP页面中编写业务逻辑还有其他方法,比如使用脚本。所以为什么要做利润较少、额外工作的工作呢?
现在,如果我们将JSP页面用于业务逻辑,那么脚本将更多地出现在JSP页面中,这将导致维护成本增加。为业务单元单独声明Servlet将避免以上所有问题。
只是想补充其他同事提到的好理由,特别是关于“业务逻辑应该移出JSP”的问题。
简而言之,在工作中,我们有很多JSP,其中业务逻辑分散在各个地方,看起来非常混乱。有一些逻辑用于从会话/请求中获取对象并执行某些检查。一个简单的例子是根据某些条件构建不同页面标题的逻辑都在JSP中。
我们如何将这个逻辑移到我们这边呢?我们引入了一个页面构建器/组合器对象,它接收构建特定页面所需的所有必要细节,并检查和设置页面bean对象中的所有正确字段。然后将此页面bean对象设置为请求,例如。这意味着您现在可以将以前在JSP上的所有逻辑移动到页面构建器/组合器对象中,最重要的是您可以编写单元测试来测试!页面bean中是否设置了正确的值。
final SimplePageBuilder pageBuilder = new SimplePageBuilder(object1);
request.setAttribute("TestBean", pageBuilder.buildPage());
如果将业务逻辑与表现逻辑分离,可以更好地重用和维护Web应用程序。
假设我有3个JSP页面,每个页面都需要执行一些共同的业务逻辑。如果我将业务逻辑放在JSP页面中,代码会出现重复。