gpt4 book ai didi

java - Java、Spring 和 Angularjs Web 应用程序的最佳方法是什么?

转载 作者:行者123 更新时间:2023-12-02 06:21:05 25 4
gpt4 key购买 nike

我想使用以下技术开发一个 Web 应用程序:Maven、Java、Hibernate、Spring(核心、mvc、安全、数据)、Bootstrap 3、AngularJs。我想知道两者之间最好的方法是什么。我的问题是关于如何组织 Web 部件。我的应用程序中有许多 html 页面( homepage.html、login.html、usermanagement.html、profil.hml、project.html):

1.我想在哪里使用真正的单页应用程序。我有一个带有 ng-view 标签的主文件,并使用 RouteProvider 切换到部分文件。例如,我可以编写以下代码

    myApp.config(['$routeProvider',
function($routeProvider) {
$routeProvider.
when('/', {
templateUrl: 'partials/homepage.html',
controller: 'HomeCtrl'
}).
when('/login/', {
templateUrl: 'partials/login.html',
controller: 'LoginCtrl'
}).
otherwise({
redirectTo: '/'
});

}]);
  • 我的第二个选择是制作多个单页应用程序。在这种情况下,每个页面都将使用 spring mvc 呈现。在每个页面中我都会有一个 angularjs Controller 。例如,以下 Spring MVC Controller 呈现主页。

    @ Controller @RequestMapping(“/”)公共(public)类 HomePageController{

    @RequestMapping( method = RequestMethod.GET )
    public String index() {

    return "homepage";
    }

    }

  • 对于主页,我将配置为:

     myhomePageApp.config(['$routeProvider',
    function($routeProvider) {
    $routeProvider.
    when('/', {
    templateUrl: 'nothing to display',
    controller: 'HomeCtrl'
    }).
    when('/contact/', {
    // display contact info in a div on home page
    templateUrl: 'partials/contact.html',
    controller: 'LoginCtrl'
    }).
    otherwise({
    redirectTo: '/'
    });

    }]);

    所以它的页面将是一个单页面应用程序。感谢您的阅读和建议。

    最佳答案

    对于您提议的堆栈,请考虑将您的 Web 应用程序概念性地拆分为 Java、Hibernate、Spring 后端和 AngularJS、Bootstrap 前端。

    这样,您可以使用类似 Spring Boot 的内容帮助您设置后端。这将为您创建一个具有所有依赖项和良好项目布局的 Maven 项目。

    然后,您可以使用任何可用于创建 AngularJS 应用程序的前端脚手架工具。 Yeoman是帮助您开始使用 AngularJS 和 Bootstrap 的好工具。它还创建一个 Grunt 构建文件,为您自动执行构建过程。

    然后,您应该仅在后端实现服务端点,并在前端应用程序中创建整个 UI。然后,您可以使用 Maven/Grunt 将这两者组合成一个可部署的应用程序,甚至决定单独托管它们。

    关于java - Java、Spring 和 Angularjs Web 应用程序的最佳方法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26232064/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com