我想使用 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/