角度js优于jsp视图

时间:2015-06-26 18:19:09

标签: java angularjs jsp

我想知道为什么人们使用angularjs来检查现有用户名或表单注册之类的东西,只需将一个名为jsp的表示层与servlet结合作为后端代码即可完成。

例如,angular对java servlet进行ajax调用,其中servlet从DB获取用户名并显示回jsp视图。所有这些都可以通过jsp和servlet来实现,而不是使用单独的自定义指令添加一层角度等等,这会增加更多的代码。

我试图找出角度优于jsp视图层的优点。像表单注册这样的事情可以使用jsp而不是angular。

今天,我花了将近8个小时编写一个程序来检查现有用户名,使用angular和java servlet作为后端。我不确定它是否是角度或jsp中的一个错误,其中request.getParameter("Username")在servlet中返回null。该参数是从使用$http后ajax调用的角度传递的。

最后,我不得不使用一些输入流来读取从角形式传递的值并返回响应。谁能想象出这类问题呢?

最后,我的问题是什么使角度比jsp更好。是否有任何其他后端服务器更好地与angular(可能是nodejs?)一起使用,而不是通常与java一起使用的tomcat?

2 个答案:

答案 0 :(得分:6)

Angular和JSP之间的最大区别在于所执行的工作 - 如果您想要一个具有大量用户交互和页面状态的富Web应用程序,Angular可能是最佳选择。如果您希望页面具有简单,固定的交互,并且大多数工作都是在服务器端执行的,那么JSP可能会更好地满足您的需求。 正如所有这些决定一样,您可以在许多不同的技术中做到这一点,这只是最适合您尝试完成的任务的问题。这并不是Angular是否更好的问题,它更适合某些应用程序。

答案 1 :(得分:1)

如果您正在制作单页Web应用程序,那么使用前端Web框架(如角度或主干)的好处就很明显了。它们处理客户端路由,模板化,数据绑定,依赖注入ajax与后端的交互等等.Vanilla jsp根本没有构建SPA的工具。

Angular真的想使用类似RESTFUL api的东西与后端交谈。为了让您的生活更轻松,我建议使用jersey-RS实现扩展您的servlet应用程序,如jersey或restEasy。这些将为您提供一种更自然,更惯用的角度交流方式。

使用节点仍然会有更多的工作(但是你已经习惯了,你正在使用java)。但是你会发现它比使用裸露的servlet更有效率。