Senibina MVC di JSP dengan Contoh

Isi kandungan:

Anonim

Apa itu MVC?

MVC adalah seni bina yang memisahkan logik perniagaan, persembahan dan data. Di MVC,

  • M bermaksud Model
  • V bermaksud View
  • C bermaksud pengawal.

MVC adalah cara sistematik untuk menggunakan aplikasi di mana aliran dimulai dari lapisan pandangan, di mana permintaan tersebut diangkat dan diproses dalam lapisan pengawal dan dikirim ke lapisan model untuk memasukkan data dan mendapatkan kembali pesan kejayaan atau kegagalan.

Lapisan Model:

  • Ini adalah lapisan data yang terdiri daripada logik perniagaan sistem.
  • Ia terdiri daripada semua data aplikasi
  • Ia juga menunjukkan keadaan aplikasi.
  • Ini terdiri daripada kelas yang mempunyai sambungan ke pangkalan data.
  • Pengawal menghubungkan dengan model dan mengambil data dan menghantar ke lapisan pandangan.
  • Model ini menghubungkan dengan pangkalan data juga dan menyimpan data ke dalam pangkalan data yang bersambung dengannya.

Lihat Lapisan:

  • Ini adalah lapisan persembahan.
  • Ini terdiri daripada HTML, JSP, dll ke dalamnya.
  • Ia biasanya menunjukkan UI aplikasi.
  • Ini digunakan untuk menampilkan data yang diambil dari pengawal yang pada gilirannya mengambil data dari kelas lapisan model.
  • Lapisan paparan ini menunjukkan data pada UI aplikasi.

Lapisan Pengawal:

  • Ia bertindak sebagai antara muka antara View dan Model.
  • Ini memintas semua permintaan yang datang dari lapisan pandangan.
  • Ia menerima permintaan dari lapisan pandangan dan memproses permintaan dan melakukan pengesahan yang diperlukan untuk permintaan tersebut.
  • Permintaan ini selanjutnya dikirim ke lapisan model untuk pemrosesan data, dan setelah permintaan diproses, permintaan akan dikirim kembali ke pengawal dengan informasi yang diperlukan dan ditampilkan sesuai dengan pandangan.

Gambarajah ditunjukkan di bawah:

Kelebihan MVC adalah:

  • Mudah dijaga
  • Mudah dipanjangkan
  • Mudah diuji
  • Kawalan navigasi berpusat

Contoh seni bina MVC

Dalam contoh ini, kita akan menunjukkan cara menggunakan seni bina MVC di JSP.

  • Kami mengambil contoh bentuk dengan dua pemboleh ubah "e-mel" dan "kata laluan" yang merupakan lapisan pandangan kami.
  • Setelah pengguna memasukkan e-mel, dan kata laluan dan mengklik kirim maka tindakan tersebut diteruskan di mvc_servlet di mana e-mel dan kata laluan diteruskan.
  • Mvc_servlet ini adalah lapisan pengawal. Di sini di mvc_servlet permintaan dihantar ke objek kacang yang bertindak sebagai lapisan model.
  • Nilai e-mel dan kata laluan ditetapkan ke dalam kacang dan disimpan untuk tujuan selanjutnya.
  • Dari kacang, nilai diambil dan ditunjukkan dalam lapisan pandangan.

Mvc_example.jsp

<% @ bahasa halaman = "java" contentType = "text / html; charset = ISO-8859-1"pageEncoding = "ISO-8859-1"%> Contoh Guru MVC 
E-mel:
Kata Laluan:

Penjelasan kod:

Lihat Lapisan:

Baris Kod 10-15: Di sini kita mengambil bentuk yang memiliki dua bidang sebagai parameter "e-mel" dan "kata sandi" dan permintaan ini perlu diteruskan ke pengawal Mvc_servlet.java, yang diteruskan dalam tindakan. Kaedah melaluinya lulus adalah kaedah POST.

Mvc_servlet.java

demotest pakej;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;/ *** Mellc_servlet kelas pelaksanaan servlet* /kelas awam Mvc_servlet meluaskan HttpServlet {serialVersionUID panjang statik persendirian = 1L;/ *** @sihat HttpServlet # HttpServlet ()* /awam Mvc_servlet () {super ();// TODO Stub konstruktor yang dihasilkan secara automatik}dilindungi dooid Pos (permintaan HttpServletRequest, respons HttpServletResponse) melemparkan ServletException, IOException {// TODO Kaedah penjanaan automatikRentetan e-mel = request.getParameter ("e-mel");String password = request.getParameter ("kata laluan");TestBean testobj = TestBean baru ();testobj.setEmail (e-mel);testobj.setPassword (kata laluan);request.setAttribute ("gurubean", testobj);RequestDispatcher rd = request.getRequestDispatcher ("mvc_success.jsp");rd.forward (permintaan, tindak balas);}}

Penjelasan kod:

Lapisan pengawal

Baris Kod 14: mvc_servlet memperluas HttpServlet.

Garis Kod 26: Oleh kerana kaedah yang digunakan adalah POST maka permintaan masuk ke dalam metode doPost servlet yang memproses permintaan dan menyimpan ke dalam objek kacang sebagai testobj.

Baris Kod 34: Dengan menggunakan objek permintaan, kita menetapkan atribut sebagai gurubean yang diberi nilai testobj.

Garis Kod 35: Di sini kita menggunakan objek permintaan pengiriman untuk menyampaikan mesej kejayaan ke mvc_success.jsp

TestBean.java

demotest pakej;import java.io.Serializable;TestBean kelas awam melaksanakan Serializable {public String getEmail () {kembalikan e-mel;}public void setEmail (String e-mel) {ini.email = e-mel;}getPassword String awam () {kembalikan kata laluan;}public void setPassword (String kata laluan) {this.password = kata laluan;}e-mel String peribadi = "null";kata laluan String peribadi = "null";}

Penjelasan kod:

Lapisan Model:

Baris Kod 7-17: Ini mengandungi penerima dan penyusun e-mel dan kata laluan yang merupakan ahli kelas Test Bean

Baris Kod 19-20: Ini menentukan e-mel anggota dan kata laluan jenis rentetan dalam kelas kacang.

Mvc_success.jsp

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

Penjelasan kod:

Baris Kod 12: kita mendapatkan atribut menggunakan objek permintaan yang telah ditetapkan dalam metode doPost servlet.

Baris Kod 13: Kami mencetak mesej selamat datang dan id e-mel yang telah disimpan dalam objek kacang

Pengeluaran:

Apabila anda melaksanakan kod di atas, anda mendapat output berikut:

Apabila anda mengklik mvc_example.jsp anda mendapat borang dengan e-mel dan kata laluan dengan butang hantar.

Sebaik sahaja anda memasukkan e-mel dan kata laluan ke borang dan kemudian klik hantar

Setelah mengklik hantar output ditunjukkan seperti di bawah

Pengeluaran:

Apabila anda memasukkan e-mel dan kata laluan di layar dan mengklik kirim kemudian, butiran disimpan di TestBean dan dari TestBean mereka diambil di layar berikutnya untuk mendapatkan pesan kejayaan.

Ringkasan:

Dalam artikel ini, kita telah belajar mengenai MVC iaitu seni bina Model View Controller.

JSP memainkan peranan penyampaian data dan pengawal. Ia adalah antara muka antara model dan pandangan sementara model menghubungkan kedua-duanya ke pengawal dan juga pangkalan data. Logik perniagaan utama terdapat dalam lapisan model.