Spring MVC 和 Angularjs

Posted

技术标签:

【中文标题】Spring MVC 和 Angularjs【英文标题】:Spring MVC and Angularjs 【发布时间】:2013-05-13 02:44:11 【问题描述】:

目前我正在尝试学习Angular JS,但首先我想使用Spring mvc 设置我的环境。

目前我只想休息工作,但我怀疑将资源放在Spring MVC中的最佳方式是什么

我的简单应用程序有这个问题:

my-simple-app:
 src
   main
     java
     resources
   webapp
     resources
     WEB-INF

如果我想从angular-seed 中放置app 文件夹,最好放在哪里?

我尝试输入src/webapp/resources/app,但我必须将html 文件移动到WEB-INF?

您在 angular-js spring mvc 应用程序中的骨架如何?

重定向到app/index.html 的最佳方法是什么?到欢迎文件,然后只使用angularjs $routeproviders

谢谢!

【问题讨论】:

【参考方案1】:

据我了解,你的前端技术是Angular JS,你的后端技术是Spring MVC

我是一名前端开发人员,因此我可以为您提供有关 HTML、CSS 和 javascript 结构的建议。

以下是我的建议:

    前后端通信方式:JSON(MVC模式应严格遵循)

    文件位置:您的所有前端文件都应位于具有以下结构的 WEB-INF 文件夹中:

    WEB-INF/Assets: 你所有的 JavaScript 文件、JavaScript 库、图像、CSS 等都应该放在这里。您可以在 Assets 中为每种资源类型打开一个单独的文件夹

    WEB-INF/JSP: 你所有的 JSP 都应该放在这里。由于 Angular 的最大优势是单页应用程序,您可以为每个主页创建一个 JSP 并将它们放置在此处

    WEB-INF/HTML:所有使用<ng-view><ng-include>注入JSP的静态资源都可以放在这里

希望这会有所帮助!

【讨论】:

【参考方案2】:

我为您的项目推荐这种结构:

my-simple-app:
    src
        main
            java
                controller
                    MySpringCtr.java
                models
                    Person.java
                    House.java
                    *.java
        webapp
            WEB-INF
                resources
                    css
                        style.css
                        *.css
                    js
                        angularCtr.js
                        *.js
                pages
                    index.jsp
                    *.jsp
                mvc-dispatcher-servlet.xml
                web.xml

我找到了一个初学者教程,一步一步解释了如何结合SpringMVC和AngularJS,你可以找到教程和完整的代码in this blog希望对你有用:)

【讨论】:

【参考方案3】:

最简单的方法是将angular-seed/app 目录中的所有文件复制到src/main/webapp 目录中。复制这些文件后,您应该能够重新部署应用程序并运行示例。

大多数 servlet 容器都会包含 index.html 作为默认欢迎文件。如果你没有,你可以在 web.xml <welcome-file-list> 中添加该配置。

WEB-INF 目录用于存放不应直接向网络公开的网络资源。 web.xml 是不应向远程用户公开的文件示例。在这种情况下,将应用程序的所有资源直接暴露给 Web 是安全的;因此您不需要将资源放在WEB-INF下。

【讨论】:

请注意,如果他使用 spring MVC,并且他将 spring-mvc dispatcher servlet 映射到 /,这将劫持所有请求 :) 另外,对于一个安全的应用程序,不希望向世界公开所有具有业务验证和前端流程和算法的 js 和 html。如果在 web-inf 下,则只会为具有适当角色的登录/用户提供这些文件

以上是关于Spring MVC 和 Angularjs的主要内容,如果未能解决你的问题,请参考以下文章

Spring Web MVC (Spring MVC) 的相关例题及解析

spring mvc 是啥

MVC模式和Spring MVC初识

Spring Boot和spring MVC之间的区别[重复]

Spring MVC系列初识Spring MVC

Spring MVC 和 Spring 总结