【问题标题】:Spring MVC and AngularjsSpring MVC 和 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

谢谢!

【问题讨论】:

    标签: java maven spring-mvc angularjs


    【解决方案1】:

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

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

    以下是我的建议:

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

    2. 文件位置:您的所有前端文件都应位于具有以下结构的 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 下,则只会为具有适当角色的登录/用户提供这些文件
        猜你喜欢
        • 2015-06-22
        • 1970-01-01
        • 2015-03-05
        • 1970-01-01
        • 2016-05-26
        • 1970-01-01
        • 2015-07-26
        • 1970-01-01
        • 2012-12-31
        相关资源
        最近更新 更多