Rest Spring和Jersey在同一应用程序中使用完全和无状态方法

Rest Spring和Jersey在同一应用程序中使用完全和无状态方法,rest,spring-mvc,spring-security,jersey,Rest,Spring Mvc,Spring Security,Jersey,在我的Spring应用程序中,我同时使用控制器和服务层。我正在使用控制器重定向我的JSP。在服务层,我使用jax-RS编写服务。我使用基于令牌的方法使用Spring安全性保护我的web服务。我正在努力实施 1.移动设备中的相同API(无状态) 2.Web应用程序与应用程序中已定义的API和控制器相同 韦伯:记住我。基于令牌的。 什么是标准实践 我可以通过REST服务在单个web应用程序中实现它吗?或者我需要将控制器和JSP从应用程序中分离出来。i、 e.两种不同的应用 1.Spring MVC

在我的Spring应用程序中,我同时使用控制器和服务层。我正在使用控制器重定向我的JSP。在服务层,我使用jax-RS编写服务。我使用基于令牌的方法使用Spring安全性保护我的web服务。我正在努力实施

1.移动设备中的相同API(无状态)

2.Web应用程序与应用程序中已定义的API和控制器相同

韦伯:记住我。基于令牌的。 什么是标准实践

我可以通过REST服务在单个web应用程序中实现它吗?或者我需要将控制器和JSP从应用程序中分离出来。i、 e.两种不同的应用

1.Spring MVC web应用程序:控制器和JSP。使用REST服务

  • Jersey应用程序:仅服务。无控制器,无JSP

  • Android移动应用程序:使用REST服务


  • 可以在同一个应用程序中实现JSON-API和web应用程序。要做到这一点,您不需要使用Jersey和Spring MVC。其中一个框架就足够了

    本文解释了如何使用Spring实现JSON-API(或者说REST API):

    Jersey文档的这一部分解释了如何使用Jersey使用JSP或其他模板语言创建HTML:

    两个框架的集成也是可能的:

    因此,您使用哪种方法取决于您

    也许还有另一种可能性可以满足您的需求:您可以在一个单独的库中实现业务逻辑和持久性,并在两个项目中使用它。这个库可以使用Spring依赖注入、Spring持久化等。以下是Jersey文档中的部分,它将帮助您在Jersey中集成此库: 若您选择这种方法,我建议您创建一个包含3个部分(业务、web、api)的独立模块

    关于问题的第二部分,如何实现基于令牌的“记住我”(更准确地说是a)。在web应用程序中,经常使用Cookies来实现这一点。如何在Jersey中实现它,可以在使用类的地方找到。
    如果您希望JSON-API更加RESTful(无状态),则必须在每个请求中发送凭据(可能是散列密码)。有关更多选项,我推荐本文:并查看jersey文档的这一部分:或本文。

    是的,我知道了。但在同一个应用程序中,如何实现无状态和状态完整。为了以防万一,请记住我。我不希望会话是无状态的。如果“记住我”未选中“我想要会话”,则如果用户在20分钟内处于理想状态,会话将过期编辑取决于您的首选方法。你的选择是什么?