Objek Tersirat JSP: Tutorial Lengkap

Isi kandungan:

Anonim

Apakah objek JSP Implisit?

  • Objek tersirat JSP dibuat semasa fasa terjemahan JSP ke servlet.
  • Objek-objek ini boleh digunakan secara langsung dalam scriplet yang sesuai dengan kaedah perkhidmatan.
  • Mereka dibuat oleh bekas secara automatik, dan mereka dapat diakses menggunakan objek.

Berapa banyak Objek Tersirat yang terdapat di JSP?

Terdapat 9 jenis objek tersirat yang terdapat di dalam bekas:

  1. keluar
  2. permintaan
  3. tindak balas
  4. konfigurasi
  5. permohonan
  6. sesi
  7. halamanKonteks
  8. halaman
  9. pengecualian

Mari belajar Satu demi Satu

keluar

  • Out adalah salah satu objek tersirat untuk menulis data ke buffer dan menghantar output kepada klien sebagai tindak balas
  • Objek keluar membolehkan kita mengakses aliran output servlet
  • Keluar adalah objek kelas javax.servlet.jsp.jspWriter
  • Semasa bekerja dengan servlet, kita memerlukan objek pencetak

Contoh:

<% @ bahasa halaman = "java" contentType = "text / html; charset = ISO-8859-1"pageEncoding = "ISO-8859-1"%> JSP1 Guru Tersirat <% int num1 = 10; int num2 = 20;out.println ("num1 is" ​​+ num1);out.println ("num2 is" + num2);%>

Penjelasan kod:

Code Line 11-12 - out digunakan untuk mencetak ke aliran output

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

Pengeluaran:

  • Dalam output, kita mendapat nilai num1 dan num2

Permintaan

  • Objek permintaan adalah contoh java.servlet.http.HttpServletRequest dan ia adalah salah satu argumen kaedah perkhidmatan
  • Ia akan dibuat oleh bekas untuk setiap permintaan.
  • Ini akan digunakan untuk meminta informasi seperti parameter, informasi header, nama pelayan, dll.
  • Ia menggunakan getParameter () untuk mengakses parameter permintaan.

Contoh:

Implicit_jsp2.jsp (borang dari mana permintaan dihantar kepada guru.jsp)

<% @ bahasa halaman = "java" contentType = "text / html; charset = ISO-8859-1"pageEncoding = "ISO-8859-1"%> Borang Guru yang tersirat JSP2 

Guru.jsp (tempat tindakan diambil)

Penjelasan kod:

Baris Kod 10-13: Dalam permintaan implisit_jsp2.jsp (bentuk) dihantar, maka nama pengguna pemboleh ubah diproses dan dihantar ke guru.jsp yang merupakan tindakan JSP.

Guru.jsp

Code Line10-11: Ini adalah tindakan jsp di mana permintaan diproses, dan nama pengguna diambil dari bentuk jsp.

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

Pengeluaran:

Apabila anda menulis ujian dan klik pada butang kirim, maka anda akan mendapat output berikut "Uji Selamat Datang."

Tanggapan

  • "Response" adalah contoh kelas yang menerapkan antara muka HttpServletResponse
  • Container menghasilkan objek ini dan meneruskan kaedah _jspservice () sebagai parameter
  • "Objek respons" akan dibuat oleh bekas untuk setiap permintaan.
  • Ini mewakili tindak balas yang dapat diberikan kepada klien
  • Objek tersirat respons digunakan untuk jenis kandungan, menambah kuki dan mengarahkan ke halaman respons

Contoh:

<% @ bahasa halaman = "java" contentType = "text / html; charset = ISO-8859-1"pageEncoding = "ISO-8859-1"%> Guru Tersirat JSP4 <% respons.setContentType ("text / html"); %>

Penjelasan kod:

Baris Kod 11: Dalam objek tindak balas kita dapat menetapkan jenis kandungan

Di sini kita hanya menetapkan jenis kandungan pada objek tindak balas. Oleh itu, tidak ada output untuk ini.

Konfigurasi

  • "Config" adalah jenis java.servlet.servletConfig
  • Ia dibuat oleh bekas untuk setiap halaman jsp
  • Ia digunakan untuk mendapatkan parameter inisialisasi dalam web.xml

Contoh:

Web.xml (menentukan nama dan pemetaan servlet)

Implicit_jsp5.jsp (mendapatkan nilai nama servlet)

<% @ bahasa halaman = "java" contentType = "text / html; charset = ISO-8859-1"pageEncoding = "ISO-8859-1"%> Guru Tersirat JSP5 <% String servletName = config.getServletName ();out.println ("Servlet Name is" + servletName);%>

Penjelasan kod:

Di laman web.xml

Baris Kod 14-17: Di web.xml kami mempunyai pemetaan servlet ke kelas.

Tersirat_jsp5.jsp

Baris Kod 10-11: Untuk mendapatkan nama servlet di JSP, kita dapat menggunakan config.getServletName, yang akan membantu kita mendapatkan nama servlet.

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

Pengeluaran:

  • Nama servlet adalah "GuruServlet" kerana namanya terdapat di web.xml

Permohonan

  • Objek aplikasi (baris kod 10) adalah contoh javax.servlet.ServletContext dan ia digunakan untuk mendapatkan maklumat konteks dan atribut di JSP.
  • Objek aplikasi dibuat oleh kontainer satu per aplikasi, ketika aplikasi diterapkan.
  • Objek servletcontext mengandungi sekumpulan kaedah yang digunakan untuk berinteraksi dengan wadah servlet. Kita boleh mendapatkan maklumat mengenai bekas servlet

Contoh:

<% @ bahasa halaman = "java" contentType = "text / html; charset = ISO-8859-1"pageEncoding = "ISO-8859-1"%> JSP6 Implisit Guru <% application.getContextPath (); %>

Penjelasan kod:

  • Dalam kod di atas, atribut aplikasi membantu mendapatkan jalan konteks halaman JSP.

Sesi

  • Sesi ini memegang objek "httpsession" (baris kod 10).
  • Objek sesi digunakan untuk mendapatkan, menetapkan dan menghapus atribut ke ruang lingkup sesi dan juga digunakan untuk mendapatkan maklumat sesi

Contoh:

Implicit_jsp7 (atribut ditetapkan)

<% @ bahasa halaman = "java" contentType = "text / html; charset = ISO-8859-1"pageEncoding = "ISO-8859-1"%> JSP Tersirat <% session.setAttribute ("pengguna", "GuruJSP"); %> Klik di sini untuk mendapatkan nama pengguna 

Implicit_jsp8.jsp (getAttribute)

<% @ bahasa halaman = "java" contentType = "text / html; charset = ISO-8859-1"pageEncoding = "ISO-8859-1"%> Guru JSP8 yang tersirat <% String name = (String) session.getAttribute ("pengguna");out.println ("Nama Pengguna adalah" + nama);%>

Penjelasan kod:

Tersirat_jsp7.jsp

Baris Kod 11: kami menetapkan pengguna atribut dalam pemboleh ubah sesi, dan nilai itu dapat diambil dari sesi di mana jsp dipanggil dari itu (_jsp8.jsp).

Baris Kod 12: Kami memanggil jsp lain di href di mana kami akan mendapat nilai untuk pengguna atribut yang ditetapkan.

Tersirat_jsp8.jsp

Baris Kod 11: Kami memperoleh nilai atribut pengguna dari objek sesi dan menunjukkan nilai tersebut

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

Apabila anda mengklik pada pautan untuk nama pengguna. Anda akan mendapat output berikut.

Pengeluaran:

  • Apabila kita mengklik pada pautan yang diberikan di implicit_jsp7.jsp maka kita diarahkan ke halaman jsp kedua, iaitu (_jsp8.jsp) halaman dan kita mendapat nilai dari objek sesi atribut pengguna (_jsp7.jsp).

halamanKonteks:

  • Objek ini adalah jenis pagecontext.
  • Ini digunakan untuk mendapatkan, menetapkan dan menghapus atribut dari ruang lingkup tertentu

Skop terdiri daripada 4 jenis:

  • Halaman
  • Permintaan
  • Sesi
  • Permohonan

Contoh:

<% @ bahasa halaman = "java" contentType = "text / html; charset = ISO-8859-1"pageEncoding = "ISO-8859-1"%> Guru Tersirat JSP9 <% pageContext.setAttribute ("pelajar", "gurustudent", pageContext.PAGE_SCOPE);String name = (String) pageContext.getAttribute ("pelajar");out.println ("nama pelajar adalah" + nama);%>

Penjelasan kod:

Baris Kod 11: kami menetapkan atribut menggunakan objek pageContext, dan ia mempunyai tiga parameter:

  • Kunci
  • Nilai
  • Skop

Dalam kod di atas, kuncinya adalah pelajar dan nilainya adalah "gurustudent" sementara ruang lingkup adalah ruang lingkup halaman. Di sini ruang lingkup adalah "halaman" dan hanya dapat menggunakan ruang lingkup halaman.

Baris Kod 12: Kami memperoleh nilai atribut menggunakan pageContext

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

Pengeluaran:

  • Hasilnya akan dicetak "nama pelajar gurustudent".

Halaman

  • Pemboleh ubah tersirat halaman menyimpan objek servlet yang sedang dilaksanakan untuk jsp yang sesuai.
  • Bertindak sebagai objek ini untuk halaman jsp semasa.

Contoh:

Dalam contoh ini, kita menggunakan objek halaman untuk mendapatkan nama halaman menggunakan kaedah toString

<% @ bahasa halaman = "java" contentType = "text / html; charset = ISO-8859-1"pageEncoding = "ISO-8859-1"%> Guru Tersirat JSP10 <% String pageName = page.toString ();out.println ("Nama Halaman adalah" + nama Halaman);%>

Penjelasan kod:

Baris Kod 10-11: Dalam contoh ini, kita berusaha menggunakan metode toString () objek halaman dan berusaha mendapatkan nama rentetan dari Halaman JSP.

Apabila anda melaksanakan kod, anda akan mendapat output berikut:

Pengeluaran:

  • Keluaran adalah nama rentetan dari halaman jsp di atas

Pengecualian

  • Pengecualian adalah objek tersirat dari kelas buang.
  • Ia digunakan untuk pengendalian pengecualian di JSP.
  • Objek pengecualian hanya dapat digunakan di halaman ralat.

    Contoh:

<% @ bahasa halaman = "java" contentType = "text / html; charset = ISO-8859-1"pageEncoding = "ISO-8859-1" isErrorPage = "true"%> Guru Tersirat JSP 11 <% int [] num1 = {1,2,3,4};out.println (num1 [5]);%><% = pengecualian%>

Penjelasan kod:

Baris Kod 10-12 - Ia mempunyai susunan nombor, iaitu, num1 dengan empat elemen. Dalam output, kami berusaha mencetak elemen kelima dari array dari num1, yang tidak dinyatakan dalam senarai array. Jadi ia digunakan untuk mendapatkan pengecualian objek dari jsp.

Pengeluaran:

Kami mendapat ArrayIndexOfBoundsException dalam tatasusunan di mana kami mendapat susunan num1 elemen kelima.