Architettura MVC in JSP con esempio

Sommario:

Anonim

Cos'è MVC?

MVC è un'architettura che separa logica aziendale, presentazione e dati. In MVC,

  • M sta per Model
  • V sta per View
  • C sta per controller.

MVC è un modo sistematico per utilizzare l'applicazione in cui il flusso inizia dal livello di visualizzazione, dove la richiesta viene generata ed elaborata nel livello del controller e inviata al livello del modello per inserire i dati e recuperare il messaggio di successo o fallimento.

Strato modello:

  • Questo è il livello dati che consiste nella logica di business del sistema.
  • Consiste di tutti i dati dell'applicazione
  • Rappresenta anche lo stato dell'applicazione.
  • Consiste di classi che hanno la connessione al database.
  • Il controller si connette al modello e recupera i dati e li invia al livello di visualizzazione.
  • Il modello si connette anche al database e memorizza i dati in un database ad esso connesso.

Visualizza livello:

  • Questo è un livello di presentazione.
  • Consiste di HTML, JSP, ecc. Al suo interno.
  • Normalmente presenta l'interfaccia utente dell'applicazione.
  • Viene utilizzato per visualizzare i dati che vengono recuperati dal controller che a sua volta recupera i dati dalle classi del livello del modello.
  • Questo livello di visualizzazione mostra i dati sull'interfaccia utente dell'applicazione.

Livello controller:

  • Funge da interfaccia tra View e Model.
  • Intercetta tutte le richieste che provengono dal livello di visualizzazione.
  • Riceve le richieste dal livello di visualizzazione ed elabora le richieste e fa la convalida necessaria per la richiesta.
  • Queste richieste vengono ulteriormente inviate al livello del modello per l'elaborazione dei dati e, una volta elaborata, la richiesta viene rimandata al controller con le informazioni richieste e visualizzata di conseguenza dalla vista.

Il diagramma è rappresentato di seguito:

I vantaggi di MVC sono:

  • Facile da mantenere
  • Facile da estendere
  • Facile da testare
  • Il controllo della navigazione è centralizzato

Esempio di architettura MVC

In questo esempio, mostreremo come utilizzare l'architettura MVC in JSP.

  • Stiamo prendendo l'esempio di un form con due variabili "email" e "password" che è il nostro livello di visualizzazione.
  • Una volta che l'utente inserisce e-mail e password e fa clic su Invia, l'azione viene passata in mvc_servlet dove vengono passati e-mail e password.
  • Questo mvc_servlet è il livello del controller. Qui in mvc_servlet la richiesta viene inviata all'oggetto bean che funge da layer del modello.
  • I valori di posta elettronica e password vengono impostati nel bean e memorizzati per ulteriori scopi.
  • Dal bean, il valore viene recuperato e mostrato nel livello di visualizzazione.

Mvc_example.jsp

<% @ page language = "java" contentType = "text / html; charset = ISO-8859-1"pageEncoding = "ISO-8859-1"%> Esempio di guru MVC 
E-mail:
Password:

Spiegazione del codice:

Visualizza livello:

Riga di codice 10-15: Qui stiamo prendendo un form che ha due campi come parametro "email" e "password" e questa richiesta deve essere inoltrata a un controller Mvc_servlet.java, che viene passato in azione. è passato è il metodo POST.

Mvc_servlet.java

demotest pacchetto;import java.io.IOException;import javax.servlet.RequestDispatcher;import javax.servlet.ServletException;import javax.servlet.http.HttpServlet;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;/ *** Classe di implementazione servlet Mvc_servlet* /public class Mvc_servlet estende HttpServlet {serialVersionUID lungo finale statico privato = 1L;/ *** @see HttpServlet # HttpServlet ()* /public Mvc_servlet () {super();// TODO Stub del costruttore generato automaticamente}protected void doPost (HttpServletRequest request, HttpServletResponse response) genera ServletException, IOException {// TODO Stub del metodo generato automaticamenteEmail stringa = request.getParameter ("email");Password stringa = request.getParameter ("password");TestBean testobj = nuovo TestBean ();testobj.setEmail (email);testobj.setPassword (password);request.setAttribute ("gurubean", testobj);RequestDispatcher rd = request.getRequestDispatcher ("mvc_success.jsp");rd.forward (richiesta, risposta);}}

Spiegazione del codice:

Livello controller

Riga di codice 14: mvc_servlet sta estendendo HttpServlet.

Riga di codice 26: poiché il metodo utilizzato è POST, la richiesta entra in un metodo doPost del servlet che elabora le richieste e le salva nell'oggetto bean come testobj.

Riga di codice 34: utilizzando l'oggetto richiesta stiamo impostando l'attributo come gurubean a cui viene assegnato il valore di testobj.

Riga codice 35: qui stiamo usando l'oggetto del dispatcher della richiesta per passare il messaggio di successo a mvc_success.jsp

TestBean.java

demotest pacchetto;import java.io.Serializable;la classe pubblica TestBean implementa Serializable {public String getEmail () {email di ritorno;}public void setEmail (String email) {this.email = email;}public String getPassword () {restituire la password;}public void setPassword (String password) {this.password = password;}private String email = "null";private String password = "null";}

Spiegazione del codice:

Strato modello:

Riga di codice 7-17: contiene i getter e i setter di email e password che sono membri della classe Test Bean

Riga di codice 19-20: definisce l'email e la password dei membri di tipo stringa nella classe bean.

Mvc_success.jsp

<% @ page language = "java" contentType = "text / html; charset = ISO-8859-1"pageEncoding = "ISO-8859-1"%><% @ page import = "demotest.TestBean"%> Guru successo <%TestBean testguru = (TestBean) request.getAttribute ("gurubean");out.print ("Benvenuto", + testguru.getEmail ());%>

Spiegazione del codice:

Riga di codice 12: stiamo ottenendo l'attributo utilizzando l'oggetto richiesta che è stato impostato nel metodo doPost del servlet.

Riga di codice 13: stiamo stampando il messaggio di benvenuto e l'ID e-mail di cui sono stati salvati nell'oggetto bean

Produzione:

Quando esegui il codice sopra, ottieni il seguente output:

Quando fai clic su mvc_example.jsp ottieni il modulo con e-mail e password con il pulsante di invio.

Dopo aver inserito e-mail e password nel modulo, quindi fare clic su Invia

Dopo aver cliccato su invia l'output viene mostrato come di seguito

Produzione:

Quando inserisci email e password nella schermata e fai clic su Invia, i dettagli vengono salvati in TestBean e dal TestBean vengono recuperati nella schermata successiva per ottenere il messaggio di successo.

Sommario:

In questo articolo, abbiamo imparato a conoscere l'architettura MVC, ovvero Model View Controller.

JSP svolge il ruolo di presentazione dei dati e responsabile del trattamento. È un'interfaccia tra il modello e la vista mentre il modello si collega sia al controller che al database. La logica aziendale principale è presente nel livello del modello.