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
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.