2016-03-28 13 views
0

私のSpringアプリケーションでは、Controllerとservcieの両方のレイヤーを使用しています。私のJSPをcontroller.Inサービスレイヤーからリダイレクトしています。トークンベースのアプローチを使用してSpringセキュリティを使用して私のWebサービスを保護しました。私を覚えている:私はすでにSpringとjersyの同じ状態での完全なステートレスなアプローチ

3.Webアプリケーションで定義されているモバイルデバイス(ステートレス)

2.Webアプリケーションと同じAPIおよびコントローラに

1.SameのAPIを実装しようとしています。トークンベース。 標準的なプラクティスとは何ですか?

私はRESTサービスを使用してWeb用に単一アプリケーションで実装できますか?あるいは、コントローラとJSPをアプリケーション.i.eから分離する必要があります。 2つの個別アプリケーション

1.Spring MVC Webアプリケーション:コントローラとJSP。 RESTサービスを消費します。

2.Jersyアプリケーション:のみservices.Noコントローラ、ノーJSP

3.Androidモバイルアプリは:RESTサービスを消費します。

答えて

0

JSON-APIとWebアプリケーションを同じアプリケーションで実装することは可能です。これを行うには、JerseyとSpring MVCを使用する必要はありません。フレームワークの1つで十分でしょう。

この記事では、SpringとJSON-API(というかRESTのAPI)を実装する方法について、説明しますBuilding a RESTful Web Service

、ジャージーのドキュメントのこの部分では、あなたがHTMLを作成するためにジャージーをどのように使用できるか、説明されていますJSPまたは他のテンプレート言語:Chapter 20. MVC Templates

両方のフレームワークの統合はあまりにも可能です:How to integrate Jersey in a Spring MVC application

だから、それはあなたが使用して接近する、あなた次第です。

ビジネスロジックと永続性を別々のライブラリに実装し、両方のプロジェクトで使用することもできます。このライブラリは、Spring Dependency Injection、Spring Persistenceなどを使用できます。このライブラリをジャージーに統合するのに役立つジャージーのドキュメントの一部です:Spring DI このアプローチを選択する場合は、3つの部分(business、web、api)を別々のモジュールとして作成することをお勧めします。Maven multi-module project

質問の2番目の部分では、「私を覚えてください」(より正確にはsession)に基づいてトークンを実装する方法を説明します。 Webアプリケーションでは、Cookieを使用するのが一般的です。ジャージーでこれを実装する方法はhereで、クラスHttpSessionが使われています。 JSON-APIのRESTful(ステートレス)を望む場合は、すべてのリクエストでクレデンシャル(ハッシュされたパスワードなど)を送信する必要があります。その他のオプションについては、この記事をお勧めします:RESTful Authenticationジャージーのドキュメントのこの部分をご覧ください:Securityまたはこの記事Spring Security and Angular JS

+0

はい私はそれを得ました。しかし、同じアプリケーションでステートレスとステートがいっぱいです。私を覚えている場合。私はセッションにステートレスなアプローチを望んでいません。覚えている場合は私がチェックされていない私は20分の理想的な場合セッションが欲しい、セッションは期限が切れる –

+0

それはあなたの好みのアプローチに依存します。あなたの選択はどれですか? –

関連する問題