JSP和MVC最佳实践

Pat*_* S. 1 java model-view-controller jsp jstl java-ee

我是JSP编程的新手,正在为一个家庭成员编写一个Web应用程序.在我学习的过程中,我听到很多关于如何将JSP用于表示,而servlet用于业务逻辑.我的问题基本上是关于这种情况有多远以及何时使用JSTL是不好的做法.这是一个例子:我有一个我的应用程序的登录页面,我正在使用c:如果自定义函数连接到我的java类来处理表单.这会被认为是糟糕的MVC实践,或者,因为我只是从EL引用我的逻辑代码,这是JSP的合法使用吗?

use*_*644 5

你的问题包含很多什么是最佳实践,这些实践引发了很多观点和争论,这在这个论坛中通常是不受欢迎的.通常,JSP是MVC中的"V",应该用于呈现由"M"odel提供的数据,这将是您的Java代码."C"ontroller通常分散在M和V之间(邀请更多辩论,抱歉).

您在JSP中放置的任何逻辑都超出了查看给定的数据并决定如何呈现它,将其移向模型.您的登录页面应该只收集凭据并将它们呈现给模型,模型应该响应"无效"并重新请求凭证(或完全失败),或者如果有效,则转到下一页.

在实践中,恕我直言,你不应该放置很多(如果有的话)操作数据的代码,除了格式化它 - 创建表条目,用链接包装等.你不应该(恕我直言)查询数据库,执行计算等,在JSP中 - 让模型做到这一点.

正如duffymo所说,JSP很老,但它们仍然有效.我建议您也考虑AngularJs(ng)(在阅读了关于V1诉V2的争议之后).