java - 我可以将 servlet 与 Angular JS 结合使用并实现 MVC 架构吗?

标签 java angularjs servlets model-view-controller

我是 MVC 新手,搜索了很多相关内容,以下是我在 Stackoverflow 上找到的内容。 1. 客户端使用 angularJS ---> NodeJS 、Rails 很适合在服务器端使用,因为它们有一定的好处。

现在我有一个问题:- 即使spring是一个MVC框架,但是我可以使用Servlet和Angular JS并用它来实现MVC吗? 提前致谢。

最佳答案

Angular 并不真正关心你在服务器端使用什么,它只是希望能够在请求正文中发送 JSON 编码的数据并获取 JSON 编码的响应。所以简短的回答是可以。关于 MVC,这种设计模式的基本层在整个客户端框架本身中使用,在服务器端,通常我只有从数据库加载数据(或更新/插入/删除数据)的代码,然后对其进行编码并将其发送到客户端。这样,服务器基本上与客户端解耦,并且可以重写或附加/补充,而无需替换。

MVC就是指 Model View Controller ,是一种划分代码的设计模式。模型就是数据本身,是更新 View 的“真相来源”, Controller 负责对模型进行更改,模型的当前状态始终反射(reflect)在 View 中。

传统上,使用 Spring MVC,服务器将负责使用更新模型的 Controller 来完全处理请求,然后生成传递给客户端的 View 。

使用 Angular,您可以使用 AJAX 请求从服务器获取数据,然后更新模型(通常通过 Controller 作为 Angular 术语中服务/工厂的代理),然后 Angular 中的绑定(bind)/监视自动更新 View .

因此,在 Angular 的情况下,您的服务器端实际上不负责创建 View ,而只负责保存数据(并处理身份验证和授权)。在您的服务器端,您可能仍然维护一个与数据库或其他方式中的某些模式相对应的模型,并且您可能有一些路由处理层,您可以考虑作用于模型的服务器端 Controller ,您只是没有真正处理 View 不再存在。

这种方法对于最终用户和开发而言都有很多优点。您可以分别测试后端和前端,并且可以重构或替换其中一个,或者构建其他前端( native 客户端等)或添加后端模块,而不会干扰客户端。您唯一需要注意的是维护客户端和服务器组件之间的一致接口(interface)。

关于java - 我可以将 servlet 与 Angular JS 结合使用并实现 MVC 架构吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32139218/

相关文章:

java - 使用 Java 提交 HTML 表单数据以检索 jsp 应用程序的下载

java - 此代码片段中创建了多少个对象

java - 带有 Join 的 JPQL 更新语句

java - POST 响应 HTML 页面显示在调试器中,但未显示在使用 JAVAEE 的浏览器中

java - 如何从 doPost() 获取和使用 jsp 文件中的 java 对象?

java - 随机生成器似乎没有生成某些数字 : is my code wrong or is it a feature of objects of type Random?

javascript - AngularJS 使用 $scope.(参数)

javascript - 使用 ngDraggable 忽略父元素

javascript - 如何从一个 Controller 设置一个服务的值,并使用该服务更新另一个 Controller 的值

java - 从服务器到客户端的警报消息