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

3
我希望使用以下技术开发Web应用程序:Maven、Java、Hibernate、Spring(核心、mvc、security、data)、Bootstrap 3和AngularJs。我想知道两种方法中哪一种是最好的。我的问题是如何组织Web部分。在我的应用程序中有许多HTML页面(homepage.html、login.html、usermanagement.html、profil.hml、project.html):
1.我想使用一个真正的单页应用程序,在一个主文件中使用ng-view标记,并使用routeProvider切换到partials。例如,我可以编写以下代码
    myApp.config(['$routeProvider',
      function($routeProvider) {
        $routeProvider.
          when('/', {
            templateUrl: 'partials/homepage.html',
            controller: 'HomeCtrl'
          }).
          when('/login/', {
            templateUrl: 'partials/login.html',
            controller: 'LoginCtrl'
          }).
          otherwise({
            redirectTo: '/'
          });

  }]);
  1. The second option i have is to make multiple single page application. I this case, each page will be rendered using spring mvc. In each page i will have a angularjs controller. For instance, the following Spring MVC controller renders the home page.

    @Controller @RequestMapping( "/" ) public class 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: '/'
              });

      }]);

因此,它的页面将是一个单页应用程序。

感谢您的阅读和建议。


你有什么问题?使用你选择的技术可以创建单页应用程序(SPA),也可以创建多页应用程序(MPA)。没有“最佳”设计。两者都有优缺点。选择你喜欢的即可。 - JB Nizet
1
@JBNizet 感谢您的评论。在我决定之前,我想了解它们的优缺点。 - Pracede
我是AngularJs的新手,所以在使用这项技术时没有经验去做出最佳选择。 - Pracede
1个回答

0

针对您提出的技术栈,建议将您的Web应用程序概念上分为Java、Hibernate、Spring后端和AngularJS、Bootstrap前端。

这样,您可以使用类似于Spring Boot的工具来帮助您设置后端。它会为您创建一个Maven项目,并包含所有依赖项和良好的项目布局。

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

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


1
好的,我会检查一下。但是创建单页应用程序(SPA)还是多页应用程序(MPA)更好呢? - Pracede
1
很难说哪个更好。就我的经验来说,将整个Web应用程序创建为单个MPA是很困难的。例如,您可能有某些着陆页面(潜在)客户到达,这些页面完全是静态的,或密码检索页面,这些页面具有某些功能。对于这些情况,加载整个SPA是没有意义的(也会降低PageSpeed排名)。您的客户使用应用程序的实际功能的部分应该作为SPA实现。 - jhkuperus
好的,谢谢。我理解你的意思,你认为创建一个多页面应用程序会更好、更简单一些。 - Pracede

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接