Perché JSP su Servlets per la visualizzazione?

4

Sebbene i servlet facciano in modo che l'invio del codice HTML ai programmatori client penda il JSP sui servlet per quello. Anche un codice JSP è compilato in servlet prima di dare la risposta al browser, quindi perché è preferito JSP? Se si utilizza servlet, è possibile salvare molto lavoro di calcolo.

    
posta Nilesh 22.10.2012 - 11:57
fonte

4 risposte

3

why do programmers weight JSP over servlets for that?

Puoi guardare JSP come un'altra sintassi più amichevole per scrivere i servlet. Quindi, non è tanto una scelta tra JSP e servlet: la scelta è tra scrivere servlet nella sintassi JSP e scriverli in raw Java. Per quanto riguarda il motivo per cui qualcuno preferirebbe il primo rispetto a quest'ultimo, per molte (non tutte) situazioni la sintassi grezza di Java è molto scomoda poiché:

  • l'intera pagina si trova all'interno delle chiamate out.println()

  • di solito significa molto markup nelle stringhe

  • per pagine non banali questo è faticosamente difficile da leggere, per non parlare del debug

  • l'aumento del costo di sviluppo è molto più grande del costo delle prestazioni ridotto (che non è affatto abbassato, vedi il prossimo punto)

If servlet is used then a lot of computation work can be saved.

No, non proprio. Bene, solo il calcolo al momento della distribuzione, quando i servlet vengono generati dai JSP, ma durante l'esecuzione è lo stesso (supponendo che si disabiliti l'opzione per generare servlet in ogni richiesta).

    
risposta data 22.10.2012 - 12:03
fonte
2

In generale, sarebbe più difficile codificare codice Java complesso e metterlo in un JSP, il prossimo è, sarebbe un codice veramente veramente disordinato se si intende combinare un codice java complesso all'interno di un JSP.

Solo i miei due centesimi.

    
risposta data 22.10.2012 - 12:24
fonte
1

Solo perché un JSP è compilato in un servlet non significa che non c'è differenza tra questi due. In realtà, potrebbe esserci qualcuno là fuori che ha scritto un interprete JSP che non traduce un JSP in un servlet ma esegue qualsiasi altro tipo di esecuzione.

Pensa al concetto di servlet e JSP e confronta questi concetti gli uni contro gli altri, non le reali implementazioni.

    
risposta data 22.10.2012 - 12:10
fonte
1

I JSP sono preferiti se si sta principalmente convertendo un modello HTML con dati generati dal server (ad esempio, generando una tabella di informazioni o filtrando una raccolta di immagini / documenti). I servlet sono preferiti per le funzioni che non hanno lavoro relativo all'interfaccia utente (ad es. Filtri e servizi Web). Oggigiorno le JSP sembrano diventare un po 'meno comuni, con più lavoro svolto con pagine Web diritte che fanno chiamate AJAX ai servizi Web, ma possono comunque essere utili.

    
risposta data 22.10.2012 - 23:22
fonte

Leggi altre domande sui tag