2010-03-31 10 views
54

Ho sentito qualcosa e ho visto alcuni esempi di applicazioni Web create utilizzando ASP.NET/PHP e mi chiedo quale sarebbe il modo equivalente di fare simili cose nel mondo Java. Guardando la Wikipedia ho trovato molte strutture e sono un po 'confuso quale sia il migliore.Qual è l'alternativa Java principale a ASP.NET/PHP

risposta

94

Java equivalente di PHP e "Classic" ASP sarebbe JSP (JavaServer Pages) con scriptlet (codice Java stato grezzo). Gli scriptlet sono considerati poor practice nel mondo di sviluppo Web Java. Taglibs ed EL (Expression Language) dovrebbero essere preferiti sopra scriptlets. L'equivalente Java di ASP.NET(MVC) sarebbe un framework Java MVC. Ci sono molti framework MVC basati su Java, che forniscono principalmente un controller Servlet/Filter e taglibs per interagire con il modello (di solito un Javabean) e la vista (di solito una pagina JSP, ma XHTML è anche possibile).

Per iniziare, lo Java EE API fornisce JSF (JavaServer Faces) per questo, che a sua volta viene fornito con la tecnologia di visualizzazione basata su modello XHTML nota come Facelets. Facelets è visto come una sostituzione del buon vecchio JSP. Inoltre, ci sono molti framework Java MVC open source che sono costruiti sopra il JSP/Servlet API e che sono intesi come un'alternativa /competizione a JSF. È possibile trovare poche informazioni su tutti loro here, i più popolari sono Spring MVC, Struts2 e Stripes.

Per quanto riguarda la scelta, suggerisco di dare un'occhiata allo this answer che sono pienamente d'accordo.

+1

+1 molto bella risposta – dfa

+2

E un altro +1 per questa bella risposta. –

+0

@BalusC Secondo [questa domanda] (http://stackoverflow.com/questions/4801891/difference-between-request-mvc-and-component-mvc) sembra che ASP.NET MVC sia una richiesta (azione) MVC quadro, è corretto? (Presumo che la richiesta/azione e il componente siano i due unici/principali gruppi di framework MVC). BTW Sono anche curioso di sapere quali sarebbero gli equivalenti di PHP a questi. – Piovezan

4

Il meglio non è necessariamente lo stesso del più tradizionale. Penso che l'equivalente più diretto (grazie alla sua natura di traccia standard) sia JSF 2.0 & Facelets.

Detto questo, ci sono ragioni per cui esistono altri framework ... è meglio valutare diversi e determinare quale si adatta allo stile di sviluppo del proprio team.

Vedere anche this question.

Problemi correlati