java - 如何使用java和Angular登录webapp

标签 java angularjs jsp jersey

我想使用 java 和 Angular 登录 webapp。我想要利用的唯一部分是常见 View ,例如使用我已经实现的 Angular ui 路由器的页眉和页脚。

HTML:

<body>
    <div id="wrap">
        <!--header-->
        <div ui-view="header"></div>
        <!--main content-->
        <div ui-view="content"></div>
    </div>

    <!--footer-->
    <div ui-view="footer"></div>
</body

现在的困惑是,一旦我登录,我想将标题导航栏中的登录状态更改为 [welcome {用户名} + 登录] 等。如果我使用 java jsp,我不确定它是如何工作的更改状态 - 可能与标签库有关?

示例:

    <security-constraint>
    <web-resource-collection>
        <web-resource-name>PRIVATE REST API</web-resource-name>
        <url-pattern>/private*</url-pattern>
        <http-method>GET</http-method>
        <http-method>POST</http-method>
    </web-resource-collection>
    <auth-constraint>
        <description>Have to be a USER</description>
        <role-name>USERS</role-name>
    </auth-constraint>
    </security-constraint>
    <login-config>
        <auth-method>BASIC</auth-method>
        <realm-name>userauth</realm-name>
    </login-config>
    <security-role>
        <description/>
        <role-name>USERS</role-name>
    </security-role>
</security-constraint>

我发现 Angular 很容易,但大多数示例仅基于 Angular,而不是 Angular + Java

另外一个值得关注的问题是选择 Angular+java 登录而不是普通的 java-jsp 登录?为什么有些人选择其中一种而不是另一种?在深入构建一个大型应用程序之前,我想获得一些专家的建议,因为有数百种不同的方法可以实现相同的目标

最佳答案

如果您打算使用 Angular,我认为您需要重新考虑您的技术堆栈方法。

如果您使用 Angular,(几乎)没有理由使用 JSP。可以说,JSP 会慢很多,因为它们在服务器端造成膨胀,而且它们肯定会比使用 Angular 在客户端渲染前端慢。

考虑到这一点,您应该将 Java 应用程序视为后端 API 服务器,它仅提供填充前端所需的内容(或消耗响应的任何内容) - 让前端解析并显示信息不管它想要什么。这将有助于通过关注点分离来保持代码整洁。此外,它不会将您的 Java 代码与任何特定的前端技术绑定(bind),因此应用程序可以增长,并且您的 API 可用于移动应用程序、其他 Java 应用程序等。

你说你只是使用普通的 Spring,但你的配置包含 spring 安全元素。为什么要使用 spring 创建登录而不使用 spring security?

也许 Spring 的这些指南将帮助您配置应用程序: https://spring.io/guides/tutorials/spring-security-and-angular-js/https://spring.io/blog/2015/01/12/the-login-page-angular-js-and-spring-security-part-ii

即使你不使用 spring 或 spring security,这些文章也应该能澄清很多你不清楚的事情。

如果您仍然不确定问题的第一部分,我建议您提出一个更具体的问题。目前,这个问题过于宽泛。

关于java - 如何使用java和Angular登录webapp,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34463663/

相关文章:

java - Android - 无法使用 FileProvider 添加电子邮件附件

Java-创建两个掷骰子的线程

angularjs - 修复 HighCharts 中图表的颜色

Java EL 评估 bean 的属性

Java:如何扫描最高数字的ide输出?

java - 在独占范围内生成随机 double

java - 在 TOMCAT 7 servlet 中为发布请求启用 CORS

angularjs - 子属性的 Angular 过滤器

java - JSP页面只显示文件路径

java - 下拉框在 JSP 中不起作用