【发布时间】:2014-03-16 07:51:27
【问题描述】:
我一直在摸索不同的客户端技术,比如 AngularJS、EmberJS,甚至尝试直接使用 JQuery 并弄清楚如何使用 ReactJS。除此之外,我的目标是在客户端和 Java Jersey 2 jax-rs 后端 api 之间使用 json 构建单页应用程序。
我现在有两个绊脚石。虽然有些信息..我正在将我的应用程序部署为 Jetty 中的 WAR 文件。我的后端是基于java的。到目前为止,我只在客户端使用 jquery。
我的主要障碍是如何处理登录、注销和会话管理。使用休息 API 并使用 ajax,我可以登录,包括设置 cookie。然而,我担心的是单页应用程序,只有一个索引页面,如果用户关闭浏览器,然后在 cookie/会话仍然良好时将其重新打开到索引页面,用户应该登录,而不是查看外部(未登录)页面。我不确定如何处理这个问题,无论是 jsp 页面、带有一些模板库的 index.html 等等。使用 JSP,我可以插入一些 scriplet 代码(根据我的更好判断)。在过去,我会包含一个标头,该标头将检查 request.getSession().getAttribute("user") 是否存在..用户已登录并使用 scriplet if() 代码我会显示登录的标头,而不是未登录的标头。但我相信必须有更好的方法来使用当今的客户端 JS 框架来做到这一点。
另一个绊脚石是导航和动态方面。例如,当我在使用 Angular js 时,很容易使用 Welcome {{name}} 并在范围内将 name 替换为登录用户的 json 响应值。在我目前的情况下,除了在响应中使用某种 $("#elem-id").innerHtml="..." 代码之外,我不确定如何最好地使用纯 jquery 显示这样的动态位ajax 调用的成功方法。同样,我不太确定如何处理不同页面的导航。我登录的网站会有一些下拉菜单或链接,它们会用不同数量的内容替换内容区域。
首先,在 SPA 中处理用户会话的一些方法是什么,在页面重新加载或关闭/崩溃浏览器重新启动的情况下......以确保用户仍然登录并将他们引导到正确的页面?其次,存在哪些不需要我在一个 index.jsp 页面中放入大量代码的模板和路由/导航选项?
谢谢。
【问题讨论】:
-
你不觉得它长篇大论,谁有空读这个?尝试缩短您的问题,或者给我们一些您尝试过的代码。
-
@Rohan.. 不确定你是如何回答我的问题的?我在这里看到了更长的问题。我觉得我提供了所需的细节。如果内容太多,请不要阅读。没有人强迫你这样做。
标签: javascript jquery jsp session single-page-application