Quelqu'un peut-il recommander un simple framework Java web-app? [fermé]


J'essaie de commencer sur ce que j'espère être une application Web relativement rapide en Java, mais la plupart des frameworks que j'ai essayés (Apache Wicket, Liftweb) nécessitent tellement de configuration, de configuration et d'essayer d'envelopper ma tête autour de Maven tout en faisant jouer le tout avec Eclipse, que j'ai passé tout le week-end à essayer d'arriver au point où j'écris ma première ligne de code!

Quelqu'un peut-il recommander un framework webapp Java simple qui n'implique pas Maven, des structures de répertoires hideusement compliquées, ou d'innombrables fichiers XML qui doivent être édités manuellement?

Author: sanity, 2008-09-22

30 answers

Je ne l'ai pas essayé moi-même, mais je pense

Http://www.playframework.org/

A beaucoup de potentiel...

Venant de php et asp classique, c'est le premier framework web java qui me semble prometteur....

Modifier par question originale asker - 2011-06-09

Je voulais juste fournir une mise à jour.

Je suis allé avec le jeu et c'était exactement ce que je demandais. Il nécessite très peu de configuration, et fonctionne hors de la boîte. Il est inhabituel en ce sens qu'il évite certaines bonnes pratiques Java courantes en faveur de garder les choses aussi simples que possible.

En particulier, il fait un usage intensif des méthodes statiques, et fait même une introspection sur les noms des variables transmises aux méthodes, ce qui n'est pas pris en charge par l'API Java reflection.

L'attitude de Play est que son premier objectif est d'être un framework Web utile, et s'en tenir aux meilleures pratiques et aux idiomes Java courants est secondaire. Cette approche a du sens pour moi, mais les puristes de Java peuvent ne pas l'aimer, et seraient mieux lotis avec Apache Wicket.

En résumé, si vous souhaitez créer une application Web avec une commodité et une simplicité comparables à un framework comme Ruby on Rails, mais en Java et avec l'avantage de l'outillage Java (par exemple. Eclipse), alors Play Framework est un excellent choix.

 50
Author: opensas, 2011-06-09 17:33:13

(Mis à jour pour Spring 3.0)

Je vais aussi avec Spring MVC.

, Vous devez télécharger le Printemps à partir de ici

Pour configurer votre application Web pour utiliser Spring, ajoutez le servlet suivant à votre web.xml

<web-app>
    <servlet>
        <servlet-name>spring-dispatcher</servlet-name>
        <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
    </servlet>

    <servlet-mapping>
        <servlet-name>spring-dispatcher</servlet-name>
        <url-pattern>/*</url-pattern>
    </servlet-mapping>
</web-app>

Vous devez ensuite créer votre fichier de configuration Spring /WEB-INF/spring-dispatcher-servlet.xml

Votre première version de ce fichier peut être aussi simple que:

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
   xmlns:mvc="http://www.springframework.org/schema/mvc" xmlns:context="http://www.springframework.org/schema/context"
   xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
   xsi:schemaLocation="
        http://www.springframework.org/schema/beans   http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
        http://www.springframework.org/schema/mvc     http://www.springframework.org/schema/mvc/spring-mvc-3.0.xsd
        http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-3.0.xsd">

   <context:component-scan base-package="com.acme.foo" />    
   <mvc:annotation-driven />

</beans>

Spring détectera alors automatiquement les classes annotées avec @Controller

Un contrôleur simple est puis:

package com.acme.foo;

import java.util.logging.Logger;
import org.springframework.stereotype.Controller;
import org.springframework.ui.ModelMap;
import org.springframework.web.bind.annotation.ModelAttribute;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;

@Controller
@RequestMapping("/person")
public class PersonController {

    Logger logger = Logger.getAnonymousLogger();

    @RequestMapping(method = RequestMethod.GET)
    public String setupForm(ModelMap model) {
        model.addAttribute("person", new Person());
        return "details.jsp";
    }

    @RequestMapping(method = RequestMethod.POST)
    public String processForm(@ModelAttribute("person") Person person) {
        logger.info(person.getId());
        logger.info(person.getName());
        logger.info(person.getSurname());
        return "success.jsp";
   }
}

Et le details.jsp

<%@ taglib uri="http://www.springframework.org/tags/form" prefix="form"%>
<form:form commandName="person">
<table>
    <tr>
        <td>Id:</td>
        <td><form:input path="id" /></td>
    </tr>
    <tr>
        <td>Name:</td>
        <td><form:input path="name" /></td>
    </tr>
    <tr>
        <td>Surname:</td>
        <td><form:input path="surname" /></td>
    </tr>
    <tr>
        <td colspan="2"><input type="submit" value="Save Changes" /></td>
    </tr>
</table>
</form:form>

Ce n'est que la pointe de l'iceberg en ce qui concerne ce que le printemps peut faire...

J'espère que cela aide.

 48
Author: toolkit, 2012-07-29 12:57:53

Je suis vraiment gorges de Bandes. La configuration totale comprend du code XML coupé-collé dans le Web de votre application.xml, et puis vous êtes parti. Aucune configuration n'est requise, car Stripes est un framework de convention sur configuration. Le remplacement du comportement par défaut est effectué via les annotations Java 1.5. La documentation est excellente. J'ai passé environ 1-2 heures à lire le tutoriel et à configurer ma première application.

Je ne peux pas encore faire de comparaison approfondie avec Struts ou Spring-MVC, car je je n'ai pas encore construit une échelle complète (comme je l'ai fait dans Struts), mais il semble que cela évoluerait assez bien à ce niveau d'architecture.

 28
Author: John Stauffer, 2008-09-22 20:28:13

Vous recherchez http://grails.org/

Vous le codez avec groovy, un langage dynamique basé sur Java et fonctionne correctement avec le code Java, les classes et les bibliothèques. La syntaxe n'est ni difficile à apprendre ni loin de Java. L'essayer, c'est quelques minutes pour faire un site web et en cours d'exécution. Il suffit de suivre http://grails.org/Installation et http://grails.org/Quick+Commencer à

Greetz, GHad

 20
Author: GHad, 2008-09-22 19:35:53

Consultez WaveMaker pour créer une application Web simple et rapide. Ils ont un concepteur de glisser-déposer basé sur un navigateur pour les widgets Dojo/JavaScript, et le backend est 100% Java.

 8
Author: killdash10, 2008-09-22 20:19:02

Stripes : plutôt bien. un livre à ce sujet est sorti de programmeurs pragmatiques: http://www.pragprog.com/titles/fdstr/stripes. Pas de XML. Nécessite java 1.5 ou version ultérieure.

Tapestry : j'ai essayé une ancienne version 3.x. On me dit que la version actuelle 5.x est en version bêta et assez bon.

Les rayures devraient être les meilleures en termes de prise en charge de maven, pas de xml et d'enveloppement rapide.

BR,
~A

 7
Author: anjanb, 2008-09-22 20:34:03

Grails est écrit pour Groovy, pas Java. AppFuse réduit simplement le temps de configuration requis pour démarrer un certain nombre de frameworks Webapp, plutôt que de promouvoir l'un d'entre eux.

Je suggérerais Spring MVC. Après avoir suivi les tutoriels bien écrits, vous aurez un modèle simple et facile auto-câblé (sans configuration XML!) dans n'importe quelle technologie de vue que vous aimez.

Vous souhaitez ajouter une action "supprimer" à votre liste de clients? Ajoutez simplement une méthode nommée "delete" à votre contrôleur client, et il est transmis automatiquement à l'URL /customers/delete.

Besoin de lier vos paramètres de requête sur un objet? Ajoutez simplement une instance de l'objet cible à votre méthode, et Spring MVC utilisera la réflexion pour lier vos paramètres, rendant l'écriture de votre logique aussi facile que si le client passait un objet fortement typé pour commencer.

Malade de toute la division forcée du travail MVC? Demandez simplement à votre méthode de retourner void, et écrivez votre réponse directement à l'écrivain du servlet, si c'est votre chose.

 6
Author: Kyle, 2008-09-22 20:10:09

Apache Wicket, Liftweb) nécessitent tellement de configuration, de configuration

Je ne suis pas d'accord, j'utilise Wicket pour tous mes projets et je n'ai jamais regardé en arrière! il ne prend pas beaucoup à mettre en place, même pas une heure pour mettre en place un environnement complet pour travailler avec Wicket..

 6
Author: Sami, 2008-09-24 00:52:29

J'aime Spring MVC, en utilisant les fonctionnalités 2.5, il y a très peu de XML impliqué.

 5
Author: bpapa, 2008-09-22 20:18:45

Le Rayures Cadre est un excellent cadre. La seule configuration impliquée est de coller quelques lignes dans votre web.XML.

C'est un framework Web Java basé sur des requêtes très simple.

 5
Author: ScArcher2, 2008-09-22 20:25:23

Jetez un oeil à Ninja Web Framework.

C'est un framework Java MVC pur dans la tradition de Rails. Il n'utilise aucune configuration basée sur xml et a tout ce dont vous avez besoin pour commencer tout de suite: gestion de session, Gestion de la sécurité, rendu html, rendu et analyse json, rendu et analyse xml. Il dispose également d'un environnement de test intégré et est 100% compatible avec les conteneurs de servlet traditionnels.

Il utilise Maven, cependant - mais Maven utilisé correctement fait développement logiciel super simple. Il vous permet également d'utiliser tout de suite n'importe quele:)

En passant - le développement de Ninja est vraiment productif - apportez des modifications à votre code et voyez les résultats immédiatement.

Découvrez: http://www.ninjaframework.org.

 5
Author: Raph, 2013-11-26 09:22:23

J'aime écrire de vieux servlets simples+ winstone conteneur de servlets. À partir de là, je verrouille les bibliothèques de modèles (velocity, XSLT, etc.) et d'accès à la base de données (hibernate, torque, etc.) car j'en ai besoin plutôt que d'entrer dans un cadre réel.

 4
Author: Aaron Maenpaa, 2008-09-22 19:35:12

Je ne vois vraiment pas quel est le gros problème avec le travail de maven + eclipse, tant que vous n'avez pas à changer le pom.xml trop :)

La plupart des frameworks qui utilisent maven ont des archétypes maven qui peuvent générer un projet stub.

Donc, fondamentalement, les étapes devraient être:

  1. Installer maven
  2. Ajouter la variable de chemin de classe M2_REPO à eclipse
  3. Générer un projet avec l'archétype
  4. Importer un projet dans eclipse

Quant au guichet, il n'y a pas raison pour laquelle vous ne pourriez pas l'utiliser sans maven. La bonne chose à propos de maven est qu'il prend soin de toutes les dépendances afin que vous n'ayez pas à le faire. D'autre part, si la seule chose que vous voulez faire est de prototyper quelques pages que Wicket peut être exagéré. Mais, si votre application se développait, les avantages de Wicket continueraient à s'afficher à chaque formulaire, lien ou page ajouté:)

 3
Author: Matej Knopp, 2008-09-23 09:11:43

Essayez Apache Cliquez sur

C'est comme Guichet, mais beaucoup plus productif et facile à apprendre.

 3
Author: Andrej Fink, 2013-05-08 00:54:11

Tapestry 5 peut être configuré très rapidement en utilisant les archétypes maven. Voir le tutoriel Tapestry 5: http://tapestry.apache.org/tapestry5/tutorial1/

 2
Author: Paul Croarkin, 2008-09-22 23:29:39

La bonne réponse IMO dépend de deux choses: 1. Quel est le but de l'application web que vous voulez écrire? Vous nous avez seulement dit que vous vouliez l'écrire rapidement, mais pas ce que vous essayez réellement de faire. Par exemple. est-il besoin d'une base de données? Est-ce une sorte d'application professionnelle (indice: peut-être rechercher "échafaudage")? ..ou un jeu? ..ou expérimentez-vous simplement avec sthg? 2. Quels frameworks connaissez-vous le plus en ce moment? Ce qui prend souvent le plus de temps est de lire des documents et de comprendre comment les choses (vraiment) travailler. Si vous voulez que cela se fasse rapidement, tenez-vous à des choses que vous connaissez déjà bien.

 2
Author: emu, 2008-09-23 10:18:01

Après de nombreuses expériences douloureuses avec Struts, Tapestry 3/4, JSF, JBoss Seam, GWT je vais rester avec Wicket pour l'instant. Wicket Bench pour Eclipse est pratique mais pas 100% complet, toujours utile cependant. Le plugin MyEclipse pour le déploiement sur Tomcat est ace. Aucun Maven ne se déploie une seule fois, les modifications sont automatiquement copiées sur Tomcat. Magie.

Ma suggestion: Guichet 1.4, MyEclipse, Subclipse, Banc de guichet, Tomcat 6. Il faudra environ une heure pour configurer mais la plupart de cela téléchargera tomcat et les plug-ins Eclipse.

Astuce: N'utilisez pas les bibliothèques Wicket Bench, installez manuellement les bibliothèques Wicket 1.4 dans le projet.

Ce site m'a pris environ 2 heures pour écrire http://ratearear.co.uk - n'y allez pas du travail!! Et celui-ci est d'environ 3 jours de travail http://tnwdb.com

Bonne chance. Tim

 2
Author: Tim Squires, 2008-09-23 10:43:04

L'outil web4j se présente comme simple et facile. Quelques points à ce sujet:

  • utilise un seul fichier xml (le web.fichier xml requis par tous les servlets)
  • aucune dépendance sur Maven (ou tout autre outil/pot tiers)
  • pile complète, open source (BSD)
  • le plus petit nombre de classes de toute la pile java cadre
  • SQL placé dans des fichiers texte brut
  • encourage l'utilisation d'objets immuables
  • ensemble d'outils minimal requis (JSP/ JSTL, Java, SQL)
 2
Author: John O, 2009-10-27 00:42:03

Grails est la voie à suivre si vous aimez faire le CRUD facilement et créer une application prototype rapide, joue également bien avec Eclipse. Suivez le tutoriel "Construisez votre première application Grails" ici http://grails.org/Tutorials et vous pouvez lancer votre propre application en moins d'une heure.

 2
Author: Drupad Panchal, 2009-12-14 23:03:04

Vous pouvez essayer JRapid. En utilisant la conception pilotée par domaine, vous définissez votre application et elle génère la pile complète de votre application Web. Il utilise des frameworks open source connus et génère une interface utilisateur très agréable et prête à l'emploi.

 2
Author: Christian, 2010-11-26 01:39:36

Je ne l'ai pas utilisé parAppFuse est conçu pour faciliter la configuration désagréable fournie avec le développement Web Java.

 1
Author: davetron5000, 2008-09-22 19:42:57

Essayer Wavemakers http://wavemaker.com Gratuit, facile à utiliser. La courbe d'apprentissage pour créer de superbes applications Java avec WaveMaker est juste quelques semaines!

 1
Author: Aurelio, 2010-10-01 08:21:59

Castleframework

Http://maven.castleframework.org/nexus/content/repositories/releases/

Installer en utilisant maven.

 1
Author: Marcel Luna, 2011-06-27 13:21:11

Essayez Vaadin! Très simple et vous serez en mesure de travailler l'interface utilisateur avec facilité aussi bien! www.vaadin.com

 1
Author: stavrosma, 2011-08-04 16:48:47

J'ai trouvé un framework web Java vraiment léger l'autre jour.

Il s'appelle Jodd et vous donne beaucoup des bases que vous attendez de Spring, mais dans un paquet vraiment léger qui est

Http://jodd.org/

 1
Author: Hakkar, 2012-06-07 23:42:55

Aussi jeter un oeil à activeweb. son simple, léger et fait usage de quelques autres choses que j'aime (guice, maven...). Ses contrôleurs peuvent servir tout ce que vous voulez, y compris json, Html, texte brut, PDF, images... Vous pouvez créer des contrôleurs restful et même utiliser des annotations pour déterminer quelles méthodes http (POST, GET, ...) une méthode de contrôleur accepte.

 1
Author: joshua, 2012-07-28 10:43:29

Je pense rester avec JSP, servlets et JSTL Après plus de 12 ans de travail avec des frameworks Web dans plusieurs entreprises avec lesquelles j'ai travaillé, je trouve toujours que je reviens au bon vieux JSP. Oui, il y a certaines choses que vous devez écrire vous-même que certains frameworks font automatiquement. Mais si vous l'abordez correctement et construisez des utils de base sur vos servlets, cela donne la meilleure flexibilité et vous pouvez faire ce que vous voulez facilement. Je n'ai pas trouvé de réels avantages à écrire dans toutes les Framework. Et je continue à chercher.

Regarder toutes les réponses ci-dessus signifie également qu'il n'y a pas de vrai cadre qui soit bon et qui prévoie des règles.

 1
Author: Ronen Morecki, 2013-06-05 09:49:10

Avez-vous essayé DWR? http://directwebremoting.org

 0
Author: Eduardo Campañó, 2008-09-22 19:43:48

Je ne sais pas si c'est le cas. http://www.oracle.com/technology/products/jdev/index.html

 0
Author: user188658, 2009-10-25 19:23:53

Récemment, j'ai trouvé le cadre AribaWeb qui semble très prometteur. Il offre de bonnes fonctionnalités (même AJAX), une bonne documentation. écrit en Groovy / Java et inclut même un serveur Tomcat. Essayer d'entrer dans Spring m'a vraiment rendu fou.

 0
Author: cuh, 2010-10-01 08:36:33