8
votes

Est-il possible d'utiliser JAX-RS comme cadre Web?

Je cherche Jax-Rs récemment parce que j'aime vraiment la plate-forme Java et un style de développement Web reposant. J'ai lu beaucoup sur l'utilisation de Jax-R pour créer des services Web reposants, mais est-il possible d'utiliser Jax-R pour créer des sites Web reposants? Je suppose que plus spécifiquement, est-il possible d'utiliser JAX-RS comme contrôleur (pour récupérer les données requises du serveur), puis la commande avant sur un moteur de vue pour rendre le HTML approprié?

J'ai googling autour mais j'ai trouvé des ressources qui vous montrent comment faire cela.

Merci pour toute idée / aide.


3 commentaires

Je me demandais la même chose. Une partie du problème connaissait la façon de poser la question.


J'ai fini par utiliser la mise en œuvre de Jersey de JAX-RS, qui vous permet de renvoyer une réponse «visible». Cela vous permet d'utiliser JSP pour renvoyer le balisage HTML HTML. Je crois qu'il existe d'autres implémentations qui vous permettent de faire le même genre de chose. Il a fini de fonctionner très bien et vous donne le contrôle total de la réponse renvoyée au client.


J'ai des difficultés à connecter les méthodes visibles aux vues. Cela vous dérangerait-il de jeter un coup d'oeil à ce que j'ai fait? Stackoverflow .com / questions / 8978200 / ...


3 Réponses :


6
votes

Je pense que vous avez des difficultés avec vos recherches Google, car peu de gens le font. JAX-RS a été conçu pour les services Web. Les développeurs ne pensent donc pas à l'utiliser comme contrôleur pour les applications Web. Cependant, il n'y a aucune raison pour laquelle cela ne fonctionnerait pas.

Consultez ce blog post: JAX-RS comme un cadre Web Java pour les gouverner tous?

Je pense que c'est exactement le genre de chose que vous recherchez.


0 commentaires

3
votes

Dbyrne est juste que presque personne ne le fait. Il est plus conventionnel d'utiliser JAX-RS pour jeter des informations à JSON ou XML. Ensuite, vous envisagez le navigateur Web avec une structure RIA (par exemple, EXT JS ), qui gère Manipulation de la DOM et injecter des données comme format JSON / XML. Cette approche est puissante. Vous pouvez écrire plusieurs clients non-navigateurs pour le service, tous analysant le même JSON / XML. Vous pouvez écrire des webapps "à une page", où tous les échanges d'informations se produisent via AJAX après la charge de pageload initiale. Je vous exhorte à enquêter et à examiner ses forces et ses faiblesses dans le contexte de votre problème particulier.

retour à votre question: la réponse est "en quelque sorte". Cette fonctionnalité n'est pas fournie directement par la spécification JAX-RS (à partir de 1.1). Cependant, il est dans la mise en œuvre de référence JAX-RS, Jersey , à travers le visible objet de réponse. Voir ce blog Publier si vous souhaitez expliquer davantage: http://blogs.oracle.com/sandoz / Entrée / MVCJ . Je veux souligner que j'ai aucune expérience de ce côté du maillot. Il a été agréable d'écrire des services Web XML / JSON-retournant avec Jersey, mais je ne peux pas parler à cette entreprise de modèles HTML côté serveur.

EDIT : DBYRNE a modifié sa réponse pour inclure un article de blog qui pointe sur celui mentionné ci-dessus. Je pense que nous avons tous deux convergé sur environ la même réponse.


0 commentaires

3
votes

Si vous voulez vraiment compter uniquement Jax-R pour votre Framework Web, Jersey pourrait être votre meilleur choix. Gardez à l'esprit les fonctionnalités que vous en obtenez au minimum et vous n'allez évidemment pas obtenir toutes les cloches et sifflets comme ce qui est fourni par JSF, Wicket, etc.

Si vous savez que votre application Web va s'appuyer sur le printemps, vous devriez peut-être envisager d'utiliser le printemps MVC 3.0. Il fournit des services Web reposants et vous donne de meilleures fonctionnalités pour que vous n'ayez pas besoin de mettre en œuvre la plupart d'entre eux vous. Certes, Spring MVC 3.0 n'est pas une mise en œuvre de JAX-RS et sur la base de ce que dit le développeur de printemps, il semble qu'ils ne feront jamais de printemps MVC comme une mise en œuvre de JAX-RS puisqu'elles sont déjà nombreuses implémentations stables. Cependant, la syntaxe est assez similaire à mon avis, ou au moins, j'ai pu les comprendre assez rapidement même si j'utilise Jersey pendant un certain temps.


0 commentaires