65 votes

Peut-on recommander un simple cadre de web-app Java ?

Je suis en train de commencer à travailler sur ce qui, je l'espère, sera relativement rapide d'applications web en Java, pourtant, la plupart des cadres que j'ai essayé (Apache Wicket, Liftweb) nécessiter autant de set-up, la configuration, et d'essayer d'envelopper ma tête autour de Maven lors de l'obtention de l'ensemble de la chose à jouer gentil avec Eclipse, que j'ai passé tout le week-end juste essayer d'obtenir au point où j'écris ma première ligne de code!

Quelqu'un peut-il recommander une simple Java webapp cadre qui n'implique pas de Maven, affreusement compliqué structures de répertoire, ou un nombre incalculable de fichiers XML qui doit être modifié manuellement?

50voto

opensas Points 13527

N'ai pas essayé moi-même, mais je pense que

http://www.playframework.org/

a beaucoup de potentiel...

venant de php et asp classique, c'est le premier framework web java qui semble prometteur pour moi....

Modifier par la question d'origine asker - 2011-06-09

Voulais juste faire une mise à jour.

Je suis allé avec le Jeu et c'était exactement ce que j'ai demandé. Il nécessite très peu de configuration, et fonctionne hors de la boîte. Il est inhabituel en ce qu'il évite certaines communes Java meilleures pratiques en faveur de garder les choses aussi simples que possible.

En particulier, il fait un usage intensif de méthodes statiques, et même fait un peu d'introspection sur les noms de variables passés aux méthodes, quelque chose n'est pas pris en charge par la réflexion Java API.

Jouer de l'attitude, c'est que son but premier est d'être utile framework web, et de coller à la commune de Java, les meilleures pratiques et les expressions idiomatiques est secondaire. Cette approche a du sens pour moi, mais Java les puristes aiment pas, et qui serait mieux avec Apache Wicket.

En résumé, si vous voulez construire une application web avec la commodité et la simplicité comparable à un cadre comme Ruby on Rails, mais en Java, et avec l'avantage de Java est de l'outillage (eg. Eclipse), le Jeu-Cadre est un excellent choix.

48voto

toolkit Points 27248

(Mise à jour pour le Printemps 3.0)

Je pars avec Spring MVC .

Vous avez besoin de télécharger le Printemps, ici

Pour configurer votre application web à utiliser de Printemps, d'ajouter à la suite de servlet pour 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 Ressort fichier de configuration /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>

Le printemps va alors détecter automatiquement les classes annotées avec @Controller

Un simple contrôleur est alors:

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 l' 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>

C'est juste la pointe de l'iceberg en ce qui concerne ce Printemps peut faire...

Espérons que cette aide.

28voto

John Stauffer Points 5988

Je suis vraiment gorges de Bandes. Total de l'installation inclut certains de copier-coller et XML dans votre application web.xml et puis vous êtes à pied. Aucune configuration n'est requise, puisque Stripes est un plus de convention-cadre de configuration. Écrasez le comportement par défaut est accomplie à l'aide de Java 1.5 annotations. La Documentation est grande. J'ai passé environ 1-2 heures à lire le tutoriel et la configuration de ma première application.

Je ne peux pas faire une comparaison approfondie de Struts ou Spring-MVC encore, puisque je n'ai pas construit à pleine échelle dans encore (comme je l'ai dans Struts), mais il semble qu'il serait échelle au niveau de l'architecture assez bien.

20voto

GHad Points 4131

Votre êtes à la recherche pour http://grails.org/

Vous code avec groovy, un langage dynamique basé sur Java et fonctionne bien avec du code Java, les classes et les bibliothèques. La syntaxe n'est ni difficile à apprendre, ni de loin, à partir 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+Start

Greetz, GHad

8voto

killdash10 Points 528

Découvrez WaveMaker pour construire une application Web rapide et simple. Ils ont un navigateur basé drag-and-drop designer pour Dojo/JavaScript widgets et le backend est 100 % Java.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X