【问题标题】:Can i use servlet with Angular JS and implement MVC architecture?我可以将 servlet 与 Angular JS 一起使用并实现 MVC 架构吗?
【发布时间】:2015-11-15 08:00:20
【问题描述】:

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

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

【问题讨论】:

    标签: java angularjs servlets model-view-controller


    【解决方案1】:

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

    MVC 仅表示模型视图控制器,这是一种用于划分代码的设计模式。模型是数据本身,是更新视图的“真相源泉”,控制器负责对模型进行更改,模型的当前状态始终反映在视图中。

    传统上,使用 Spring MVC,服务器将负责使用控制器完全处理请求,该控制器更新模型,然后生成交付给客户端的视图。

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

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

    对于最终用户和开发而言,这种方法都有很多优势。您可以分别测试您的后端和前端,您可以重构或替换其中任何一个,或构建额外的前端(本机客户端等)或添加后端模块而不会干扰客户端。您唯一需要注意的是在客户端和服务器组件之间保持一致的接口。

    【讨论】:

    • 那么 Spring MVC 是什么,如果 MVC 在客户端完成,即使用 Anuglar JS?
    【解决方案2】:

    简而言之,是的。

    请确保您以 JSON 格式传递数据,因为 AngularJS 需要 JSON,正如 @shaunhusain 所解释的那样。

    这个link 将非常有助于理解如何为应用程序创建文件夹结构。

    【讨论】:

      猜你喜欢
      • 2017-05-20
      • 2013-05-24
      • 1970-01-01
      • 2015-10-26
      • 2015-12-02
      • 2018-04-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多