业务层的jsp
回答
通常的原因是关注点分离。您应该轻松修改演示文稿而不影响业务层。
可重用性和可维护性是一些巨大的问题。
考虑下面的情况;
假设你想创建一个iPhone 版本的应用程序,你必须 到端口的所有业务逻辑 的iPhone,现在让我们拥有了 申请一个Eclipse RCP前端和基于闪存;然后与基于Python的系统集成。
由于业务逻辑和 呈现在同一个文件, 创意Web开发有 学习一些Java,如果他要 不 打破了应用程序创建的最佳接口。
如果您制作的应用程序超过5页,混合逻辑和演示文稿可能会让您的生活更加艰难。但是,这是我的一个不受欢迎的观点 - 对于小型应用程序(甚至是中型应用程序),只需一个“知道他的代码”的开发人员,就可以将JSP用于buisness逻辑。它可能是jsps放在/action/
文件夹中,稍后重定向到演示文件夹,或者它可能与请求来自的jsps相同。我举了一个例子 - 在开发实践之初,我基于网络策略游戏几乎完全基于自我发布jsps。那是5年前。几个星期前我看了一下我的代码库,我可以理解所有的东西。所以,如果你刚刚开始,而且你不想从一个能让你的学习曲线更陡峭的大框架开始,并且你不希望你的项目变得非常大或者变成商业化的(旁注:我的商业变得商业化然后随意使用jsps作为业务逻辑,但需要注意的是在常见情况下这不是一个好习惯。
几个原因:
- 重用性:你不能再使用小脚本。
- 可替换性:不能使脚本抽象化。
- OO能力:你不能使用继承/组合。
- 可调试性:如果scriptlet中途抛出一个异常,你得到的只是一个空白页面。
- 可测试性:scriptlet不是单元可测试的。
- 可维护性:每个saldo需要更多的时间来维护混合/混乱的代码逻辑。
还有更多,但它归结为脚本是坏习惯。
您可以在表示层JSTL和EL做相当多的工作。如果您认为这两种方法都不可行,并且您不得不抓取scriptlet,那么代码逻辑最终属于一个真正的Java类。您可以使用一个Servlet
类来控制/预处理/后处理请求,您可以使用Filter
类来过滤请求,您可以使用DAO
类来完成数据库交互,可以使用Javabean
类来存储/传输/访问数据,您可以使用Domain
类作为业务逻辑,您可以使用Utility
类作为静态工具。
对于什么是值得的,大约半年后,我已经发布了更详细的回答这个问题:http://stackoverflow.com/questions/3177733/how-to-avoid-java-code-in-jsp-files – BalusC 2011-02-24 17:17:22
- 1. 业务逻辑层次Servlet和JSP
- 2. 业务层3
- 3. 业务层或表示层
- 4. 业务层业务层的程序逻辑
- 5. 业务层设计
- 6. n层业务/服务层设计
- 7. 三层架构中的业务层
- 8. 业务层VS的SQL Server
- 9. 具有n层业务服务器的N层Web服务器
- 10. 业务层与服务层的服务引用
- 11. ASP.NET企业架构:业务层
- 12. EF6和业务逻辑层
- 13. 批和业务层通信
- 14. 如何实现业务层
- 15. MVVM和业务逻辑层
- 16. 业务逻辑层设计
- 17. MVC验证和业务层
- 18. 将业务层传递给WCF服务
- 19. struts动作类和业务服务层
- 20. DTO VS在WCF层的业务对象
- 21. 业务层模块的分离
- 22. asp.net应用程序中的业务层
- 23. db或前一层的业务规则
- 24. 业务层中的本地化
- 25. 模型层上的业务规则
- 26. 业务层授权的最佳实践?
- 27. 业务层面的延迟加载
- 28. 数据库层中的业务逻辑
- 29. 基于角色的业务层授权
- 30. ASP.NET MVC中的业务和数据层
假设我不经常改变它 – Harish 2009-12-02 07:45:43
是习惯的生物它总是很好地遵循最佳实践,因为它们变得注入我们 – n002213f 2009-12-02 08:04:23