2010-01-24 4 views

Répondre

17

Je pense que la chose la plus simple à faire pour générer du contenu Web via Java est d'écrire une servlet. Tout comme web.py vous permet de définir une méthode GET, vous pouvez implémenter la méthode doGet() d'une servlet et écrire des données directement sur le client.

Voici le tutoriel link du Servlet. Vous devrez également savoir comment emballer et déployer une application Web. pour cela, je dirige généralement les gens vers le Tomcat manual (voir la section intitulée «Première application Web»).

L'écriture et le déploiement d'une application web Java ne vont pas être aussi rapides que dans Ruby ou Python, mais Java n'est pas particulièrement connu pour sa concision.

Si vous n'avez pas besoin de Java, consultez Grails. C'est un framework d'application web construit sur Groovy, qui est un langage dynamique similaire à Python et Ruby qui compile à la JVM.

+1

+ 1 pour Grails. Je recommande de vérifier le projet Roo trop – Perpetualcoder

+3

J2EE est mort. Vive Java EE. Voici le lien vers le didacticiel Servlets: http://java.sun.com/javaee/5/docs/tutorial/doc/bnafd.html – BalusC

+1

@BalusC: Merci, mis à jour. – danben

1

Step est un cadre pour Scala inspiré par Sinatra.

+11

Mais Scala n'est pas Java. –

+1

C'est une déclaration vraie. –

+4

Pourquoi voudriez-vous écrire du code java s'il y a de meilleures langues pour la JVM. J'aime Step. – Luke

7

Si vous cherchez seulement pour un cadre de présentation dans pur Java puis, pour moi, Stripes est le plus proche des cadres Java MVC à la philosophie RoR: simple, élégant et exigeant une configuration minimale. Stripes a été le pionnier de l'approche Convention over Configuration pour le développement web Java. Et tandis que d'autres frameworks ont adopté certains de ses principes (comme Spring MVC ou Struts2 avec des plugins), je préfère encore Stripes car il fait une chose, et le fait bien.

+1

L'avez-vous utilisé professionnel? Est-ce que ça va bien avec ajax et javascript? – darpet

+1

@darko Oui, et cela a été un plaisir de travailler avec. En ce qui concerne AJAX et JavaScript, jetez un oeil à la section [AJAX] (http://www.stripesframework.org/display/stripes/AJAX) et aux divers [User Addition] (http://www.stripesframework.org/display/stripes/User + Additions) sur le site officiel, ou sur [The Stripes Book Blog] (http://www.stripesbook.com/blog/) pour plus d'exemples. –

2

Le plus petit serveur Web "utilisable" pour Java prenant en charge les servlets que je peux trouver est Miniature JWS. Et honnêtement, il n'y a aucune raison d'exécuter un serveur Web Java qui ne prend pas en charge les servlets. Si vous voulez faire REST, Restlet a un démon HTTP intégré qui signifie que vous pouvez l'exécuter en tant que stand alone web server.

+2

i-Jetty n'est pas plus petit? Il fonctionne bien sous Android. – Dima

1

Je peux vous recommander Struts2, parce que j'aime l'architecture plugin et avec le plugin convention c'est simple et rapide à développer.

+6

Ne soyez pas drôle, les entretoises sont mortes :) – ozhan

+2

Struts1 est mort mais pas Struts2! – Johannes

22

Play. Je n'ai pas essayé moi-même, mais j'ai entendu que de bonnes choses à ce sujet et semble être tout à fait adapté aux débutants.

+3

jouer est assez cool. J'ai été très impressionné par le tutoriel. –

+2

Un de mes amis a joué avec lui pendant un moment. Il semblait être satisfait avec ça. –

+6

Le jeu est fantastique - j'ai déjà utilisé plusieurs projets. Avantages/simplifications importants offerts par Play: 1. Serveur Web autonome. Pas besoin de se déployer en tant que WAR sur un conteneur web séparé (comme Tomcat) 2. MVC sans servlets 3. Changer le code source, sauvegarder, rafraîchir le navigateur - pas besoin de déployer une nouvelle guerre. = développement très rapide. 4. Simplement très simple et facile à apprendre 5. Utilise ORM (Hibernate par défaut) pour simplifier l'interaction avec la base de données –

12

JAX-RS.

Java EE 6 serveurs comme GlassFish paquets par défaut. Si vous utilisez Tomcat, vous pouvez utiliser les implémentations Jersey, Apache CXF ou Restlet.

En utilisant les annotations JAX-RS, le développement web ressemble à Sinatra ou Merb. BTW vous n'avez pas besoin d'utiliser Java comme langue, vous pouvez utiliser Scala, Groovy, JRuby ...

2

HybridJava framework est vraiment simple. Bien sûr, il se construit comme une API au-dessus de l'API Servlet, mais traite la page et le composant au lieu de la requête et de la réponse. En d'autres termes, c'est vraiment MVC.

3

Vérifiez SerfJ : Simplest Ever Rest Framework for Java:

L'utilisation SerfJ est la meilleure façon de développer des applications Java Web REST . Il vous aide à développer votre application sur une architecture MVC , donnant plus d'importance à la configuration que la configuration , ainsi par exemple, vous n'aurez pas besoin de fichiers de configuration ou d'annotations pour spécifier quelle vue sert la méthode du contrôleur . Cependant, SerfJ est une bibliothèque très flexible, donc si vous voulez sauter par-dessus ces conventions, vous pouvez configurer le comportement de vos applications comme vous le souhaitez.

Le cadre tente de répondre à la spécification JSR 311, mais cela ne suivre tous les points de cela, parce que le but est d'avoir une très bibliothèque intuitive, et certains certains aspects de la spécification sont hors de la portée de SerfJ. SerfJ est opensource et est publié sous la licence Apache, Version 2.0.

49

Si vous voulez un cadre strict de Java Spark pourrait être une alternative:

import static spark.Spark.*; 

public class HelloWorld { 
    public static void main(String[] args) { 
     get("/hello", (req, res) -> "Hello World"); 
    } 
} 
+3

Lecture semble génial, mais il ressemble à un cadre de pile complète. Sinatra n'est pas destiné à être une structure de pile complète, et Spark ressemble beaucoup plus à la simplicité de Sinatra. –

+3

Spark prend également en charge Java 8 Lambdas: get ("/ hello", (request, response) -> {..}); – micha

+1

Spark ne prend en charge aucun type d'injection de dépendance ou de support de conteneur IoC qui limite sévèrement son utilisation IMO. – TheJediCowboy

3

Si vous devez développer des applications commerciales ou la base de données OpenXava est une bonne option. OpenXava vous permet de développer une application web AJAX complète en n'écrivant que des classes de domaine, sans génération de code et en produisant une application prête pour la production. Petit code, super résultat.

+2

Pouvez-vous suggérer un tutoriel pour cela? – Gapchoos

+1

il ya un tutoriel de démarrage rapide sur le [site Web OpenXava] (http://www.openxava.org/web/guest/home) –

+1

@Javier, Vous devez ajouter que les applications OpenXava sont déployées en tant que portlets dans un serveur de portail tel que Liferay. Il n'est pas facile non plus de créer une API REST dans une application OpenXava. – joshua