2009-08-14 9 views
5

Ho aggiunto recentemente Struts 1.3 alla mia applicazione su Tomcat. Ecco le mie osservazioni,Quali sono i vantaggi dei puntoni

  1. MVC. Servlet/JSP fa questo bene per me, dove JSP è la vista e servlet è il controller. Non vedo alcun beneficio per ottenere il mapping da un file XML poiché la nostra mappatura è molto statica.
  2. Modulo di azione. Riesco a vedere alcuni benefici del modulo di azione ma non enorme.
  3. Tags. Uso già JSTL e non vedo alcun vantaggio usando i tag Struts.

Quindi sto pensando di rimuovere Struts. Qualcuno può pensare ad altri benefici che potrei aver perso?

+2

Rimuovere. Struts è legacy. Nessuno, a meno che non sia gravemente vincolato, dovrebbe scegliere Struts per una nuova implementazione. – SteveD

+0

+1 completamente d'accordo con stevendick –

+0

Grazie per tutte le risposte. Ho preso la decisione di rimuoverlo. –

risposta

11

Personalmente io personalmente preferisco jsp/servlet ma teoricamente Struts ha alcuni vantaggi. Ecco alcuni dei vantaggi che conosco, potresti averli già menzionati, ma ho pensato che sarebbe stato meglio elencarli tutti qui.

  1. Configurazione centralizzata basata su file. I valori/mapping degli assi sono rappresentati in file XML o di proprietà. Questo accoppiamento lento significa che molte modifiche possono essere apportate senza modificare o ricompilare il codice Java e che le modifiche all'ingrosso possono essere apportate modificando un singolo file. Questo approccio consente inoltre agli sviluppatori Java e Web di concentrarsi sulle proprie attività specifiche (implementazione della business logic, presentazione di determinati valori ai client, ecc.) Senza necessità di conoscere il layout generale del sistema.

  2. Form Beans.

  3. Tag di fagioli. Struts fornisce una serie di tag JSP personalizzati che consentono di generare facilmente le proprietà dei componenti JavaBeans.

  4. Tag HTML. Struts fornisce un set di tag JSP personalizzati per creare moduli HTML associati ai componenti JavaBeans. Questa associazione bean/form ha due scopi utili:

    • Consente di ottenere i valori iniziali del campo modulo dagli oggetti Java.
    • Consente di visualizzare nuovamente i moduli con alcuni o tutti i valori inseriti precedentemente intatti.
  5. Convalida campo modulo. Struts dispone di un valido validatore estensibile che può essere utilizzato per convalidare in modo uniforme i campi del modulo. Questa convalida può essere eseguita sul server (in Java) o sul server e sul client (in JavaScript).

  6. "Codice di impianto idraulico" contenuto nel framework Struts. Il mapping dei parametri di richiesta HTTP agli oggetti Java viene gestito da Struts, ad esempio. Non devi farlo. Questo ti consente di concentrarti maggiormente sul problema del dominio invece di costruire un'infrastruttura.

  7. Buona documentazione & un sacco di libri. Se devi lasciare il progetto e/o qualcun altro deve mantenerlo, usare un framework ben noto e ben documentato renderà il lavoro molto più semplice. Un framework homebrewed non può eguagliare quello.

  8. Test utente ampio. Poiché Struts è usato in molte web-app, il framework sarà visto da molti più occhi di qualunque cosa tu possa scrivere da solo. Di solito, ma non sempre, ciò significa che tutti i problemi che avrai saranno stati visti prima da qualcun altro (e, si spera, risolto).

3

Grande base di conoscenza. Concordo sul fatto che forse non è così valido come un tempo, ma Struts è stato utilizzato in molti progetti nel corso degli anni. Dal punto di vista della manutenibilità, utilizzando un framework ben noto, è più facile per le altre persone lavorare sulla tua applicazione e anche contribuire a costruire il tuo curriculum per il futuro. Al momento la maggior parte dello sviluppo è nello spazio basato sui componenti (come JSF, wicket, tapestry) o nello spazio rotaia (come rails, grails, lift) ma i montanti arcitechture sono ancora in uso e validi.

Non hai detto che se ti sviluppi in un ambiente aziendale o no, per un progetto personale, forse il problema della manutenibilità non è un gran problema.

Se si decide che i puntoni si adattano bene si potrebbe anche dare un'occhiata a stripes, una struttura simile a struts che si basa sugli stessi concetti ma è meno prolissa quando si tratta di configurazione con impostazioni predefinite più sensate, meno xml e supporto per annotazioni.

3

Sono assolutamente d'accordo con i vostri punti su Struts - personalmente penso che il suo tempo sia arrivato e finito.

Sono uscito da Struts in v1 (che credo non assomigli alle ultime versioni) perché i bean di modulo in cui è stato appena aggiunto il codice boilerplate per scrivere.

Da allora la maggior parte delle applicazioni su cui ho lavorato utilizza Spring come framework di distribuzione delle dipendenze, che ha reso Spring MVC la scelta naturale: è semplice, semplice e minima.

1

Non solo per puntoni. Ma alcuni punti da considerare per l'utilizzo di un framework:

  • Standarizzazione.
  • IDE o plug-in specializzati per il tuo IDE preferito.
  • Portabilità. Ad esempio, qualcuno può sviluppare un portlet per integrare l'applicazione struts esistente in un server portale.
  • Internazionalizzazione.

La cosa più importante per me:

  • Non dovete preoccuparvi di questioni sul codice puntoni, basta eseguire l'aggiornamento.
  • È possibile concentrare il proprio lavoro sulla logica aziendale.
1

Struts è aperto sorgente-- grande comunità ---- numero di libri disponibili ----- comprovata FrameWork ---- quadro Popolare ----- Disponibile dal 2001-- - + ---- le caratteristiche sopra menzionate ...........

ma quando si usano puntoni, la scelta migliore è puntone2.

1

Penso che la tua sensazione di rimuovere Struts sia una reazione sana e comprensibile. Struts non sembra fare molto per un'applicazione.