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) 的相关例题及解析