Arsitektur MVC di JSP dengan Contoh

Daftar Isi:

Anonim

Apa itu MVC?

MVC adalah arsitektur yang memisahkan logika bisnis, presentasi, dan data. Di MVC,

  • M adalah singkatan dari Model
  • V adalah singkatan dari View
  • C adalah singkatan dari controller.

MVC adalah cara sistematis untuk menggunakan aplikasi di mana aliran dimulai dari lapisan tampilan, di mana permintaan dimunculkan dan diproses di lapisan pengontrol dan dikirim ke lapisan model untuk memasukkan data dan mendapatkan kembali pesan sukses atau gagal.

Model Lapisan:

  • Ini adalah lapisan data yang terdiri dari logika bisnis sistem.
  • Ini terdiri dari semua data aplikasi
  • Ini juga mewakili status aplikasi.
  • Ini terdiri dari kelas-kelas yang memiliki koneksi ke database.
  • Pengontrol terhubung dengan model dan mengambil data dan mengirim ke lapisan tampilan.
  • Model tersebut juga terhubung dengan database dan menyimpan data ke dalam database yang terhubung dengannya.

Lihat Lapisan:

  • Ini adalah lapisan presentasi.
  • Ini terdiri dari HTML, JSP, dll. Ke dalamnya.
  • Biasanya menampilkan UI aplikasi.
  • Ini digunakan untuk menampilkan data yang diambil dari pengontrol yang pada gilirannya mengambil data dari kelas lapisan model.
  • Lapisan tampilan ini menunjukkan data pada UI aplikasi.

Lapisan Pengontrol:

  • Ini bertindak sebagai antarmuka antara Tampilan dan Model.
  • Ini memotong semua permintaan yang datang dari lapisan tampilan.
  • Ia menerima permintaan dari lapisan tampilan dan memproses permintaan dan melakukan validasi yang diperlukan untuk permintaan tersebut.
  • Permintaan ini selanjutnya dikirim ke lapisan model untuk pemrosesan data, dan setelah permintaan diproses, permintaan ini dikirim kembali ke pengontrol dengan informasi yang diperlukan dan ditampilkan sesuai dengan tampilan.

Diagram diwakili di bawah ini:

Keunggulan MVC adalah:

  • Mudah dirawat
  • Mudah diperpanjang
  • Mudah untuk diuji
  • Kontrol navigasi terpusat

Contoh arsitektur MVC

Dalam contoh ini, kami akan menunjukkan cara menggunakan arsitektur MVC di JSP.

  • Kami mengambil contoh formulir dengan dua variabel "email" dan "kata sandi" yang merupakan lapisan tampilan kami.
  • Setelah pengguna memasukkan email, dan kata sandi dan klik kirim maka tindakan dilewatkan di mvc_servlet di mana email dan kata sandi diteruskan.
  • Mvc_servlet ini adalah lapisan pengontrol. Di sini, di mvc_servlet permintaan dikirim ke objek kacang yang bertindak sebagai lapisan model.
  • Nilai email dan kata sandi diatur ke dalam kacang dan disimpan untuk tujuan selanjutnya.
  • Dari kacang, nilai diambil dan ditampilkan di lapisan tampilan.

Mvc_example.jsp

<% @ page language = "java" contentType = "text / html; charset = ISO-8859-1"pageEncoding = "ISO-8859-1"%> Contoh MVC Guru 
Email:
Sandi:

Penjelasan kode:

Lihat Lapisan:

Baris Kode 10-15: Di sini kita mengambil formulir yang memiliki dua bidang sebagai parameter "email" dan "kata sandi" dan permintaan ini perlu diteruskan ke pengontrol Mvc_servlet.java, yang diteruskan dalam tindakan. Metode yang melaluinya dilewatkan adalah metode POST.

Mvc_servlet.java

paket demotest;impor java.io.IOException;import javax.servlet.RequestDispatcher;impor javax.servlet.ServletException;import javax.servlet.http.HttpServlet;import javax.servlet.http.HttpServletRequest;impor javax.servlet.http.HttpServletResponse;/ *** Kelas implementasi Servlet Mvc_servlet* /kelas publik Mvc_servlet memperluas HttpServlet {private static final long serialVersionUID = 1L;/ *** @ lihat HttpServlet # HttpServlet ()* /publik Mvc_servlet () {super();// TODO Rintisan konstruktor yang dibuat secara otomatis}protected void doPost (permintaan HttpServletRequest, respons HttpServletResponse) melontarkan ServletException, IOException {// TODO Rintisan metode yang dibuat secara otomatisString email = request.getParameter ("email");String password = request.getParameter ("password");TestBean testobj = new TestBean ();testobj.setEmail (email);testobj.setPassword (kata sandi);request.setAttribute ("gurubean", testobj);RequestDispatcher rd = request.getRequestDispatcher ("mvc_success.jsp");rd.forward (permintaan, tanggapan);}}

Penjelasan kode:

Lapisan pengontrol

Baris Kode 14: mvc_servlet memperluas HttpServlet.

Baris Kode 26: Karena metode yang digunakan adalah POST, maka permintaan masuk ke metode doPost dari servlet yang memproses permintaan dan menyimpannya ke objek kacang sebagai testobj.

Baris Kode 34: Menggunakan objek permintaan kita mengatur atribut sebagai gurubean yang diberi nilai testobj.

Baris Kode 35: Di sini kita menggunakan objek dispatcher permintaan untuk meneruskan pesan sukses ke mvc_success.jsp

TestBean.java

paket demotest;impor java.io.Serializable;public class TestBean mengimplementasikan Serializable {public String getEmail () {membalas email;}public void setEmail (String email) {this.email = email;}public String getPassword () {mengembalikan kata sandi;}public void setPassword (String password) {this.password = kata sandi;}private String email = "null";private String password = "null";}

Penjelasan kode:

Model Lapisan:

Code Line 7-17: Berisi getter dan setter email dan password yang merupakan anggota kelas Test Bean

Baris Kode 19-20: Ini mendefinisikan email anggota dan kata sandi dari tipe string di kelas kacang.

Mvc_success.jsp

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

Penjelasan kode:

Baris Kode 12: kita mendapatkan atribut menggunakan objek permintaan yang telah diatur dalam metode doPost dari servlet.

Baris Kode 13: Kami sedang mencetak pesan selamat datang dan id email yang telah disimpan di objek kacang

Keluaran:

Saat Anda menjalankan kode di atas, Anda mendapatkan output berikut:

Ketika Anda mengklik mvc_example.jsp Anda mendapatkan formulir dengan email dan kata sandi dengan tombol kirim.

Setelah Anda memasukkan email dan kata sandi ke formulir dan kemudian klik kirim

Setelah mengklik submit, hasilnya ditampilkan seperti di bawah ini

Keluaran:

Ketika Anda memasukkan email dan kata sandi di layar dan mengklik kirim lalu, detailnya disimpan di TestBean dan dari TestBean mereka diambil di layar berikutnya untuk mendapatkan pesan sukses.

Ringkasan:

Pada artikel ini, kita telah belajar tentang MVC yaitu arsitektur Model View Controller.

JSP memainkan peran presentasi data dan pengontrol. Ini adalah antarmuka antara model dan tampilan sementara model menghubungkan keduanya ke pengontrol serta database. Logika bisnis utama hadir di lapisan model.