atribut hanya untuk permintaan http yang membantu servlets bekerja bersama
bitfishxyz
Jawaban:
329
getParameter()mengembalikan parameter permintaan http. Itu diteruskan dari klien ke server. Sebagai contoh http://example.com/servlet?parameter=1. Hanya bisa kembaliString
getAttribute()hanya untuk penggunaan sisi server - Anda mengisi permintaan dengan atribut yang dapat Anda gunakan dalam permintaan yang sama. Misalnya - Anda menetapkan atribut dalam servlet, dan membacanya dari JSP. Dapat digunakan untuk objek apa pun, bukan hanya string.
Saya kira ketika Anda menggunakan sesuatu seperti ${attrName}di halaman jsp, itu adalah atribut yang Anda tetapkan gunakan request.getSession().setAttribute()?
ha9u63ar
Karena atribut permintaan disimpan di sisi server, dapatkah saya menetapkan atribut permintaan untuk permintaan pasca-redirect-dapatkan antar-server? Saya ingin mengirim informasi dari satu server ke server lain di JSF melalui atribut dalam permintaan redirect. Saya dapat mengirim melalui permintaan POST seperti sekarang.
user2918640
Dalam hal ini, "Parameter" tampaknya identik dengan "string kueri"
BTRUE
getAttribute()bukan hanya untuk penggunaan sisi server: Anda bisa mendapatkan data atribut di front-end - di halaman jsp misalnya, dan menampilkannya
parsecer
49
Secara umum, parameter adalah nilai string yang paling umum diketahui dikirim dari klien ke server (mis. Formulir posting) dan diambil dari permintaan servlet . Pengecualian yang membuat frustrasi adalah parameter awal ServletContext yang merupakan parameter string yang dikonfigurasi di web.xml dan ada di server.
Atribut adalah variabel server yang ada dalam lingkup yang ditentukan yaitu:
application, tersedia untuk masa pakai seluruh aplikasi
session, tersedia untuk seumur hidup sesi
request, hanya tersedia selama umur permintaan
page (Khusus JSP), hanya tersedia untuk halaman JSP saat ini
"Secara umum, parameter adalah nilai string" Selain string apa yang bisa kami kirim?
Sayang
^ Objek seperti dalam kasus request.setAttribute
Arijit
38
request.getParameter ()
Kami menggunakan request.getParameter()untuk mengekstrak parameter permintaan (yaitu data yang dikirim dengan memposting formulir html). Nilai request.getParameter()selalu kembali Stringdan data berasal dari klien.
request.getAttribute ()
Kami menggunakan request.getAttribute()untuk mendapatkan objek yang ditambahkan ke ruang lingkup permintaan di sisi server yaitu menggunakan request.setAttribute(). Anda dapat menambahkan semua jenis objek yang Anda suka di sini,, StringsObjek khusus, bahkan objek apa pun. Anda menambahkan atribut ke permintaan dan meneruskan permintaan ke sumber daya lain, klien tidak tahu tentang ini. Jadi semua kode yang menangani ini biasanya dalam JSP / servlets. Anda dapat menggunakan request.setAttribute()untuk menambahkan informasi tambahan dan meneruskan / mengalihkan permintaan saat ini ke sumber daya lain.
Dari browser Anda, jalankan first.jsp? CLIENT = Anda dan output pada browser Anda
FromWhichPage:*first.jsp*DataFromClient: you
Perbedaan mendasar antara getAttribute()dan getParameter()adalah bahwa metode pertama mengekstraksi objek Java (serial) dan yang lainnya memberikan nilai String. Untuk kedua kasus, sebuah nama diberikan sehingga nilainya (baik itu string atau kacang java) dapat dicari dan diekstraksi.
Ini adalah contoh yang bagus. Ini harus menjadi jawaban yang diterima. Jawaban yang diterima benar tetapi untuk pendatang baru contoh mengklarifikasi segalanya. Terima kasih.
CapturedTree
26
Sangat penting untuk mengetahui bahwa atribut bukan parameter .
Tipe return untuk atribut adalah Object , sedangkan tipe return untuk parameter adalah String . Saat memanggil getAttribute(String name)metode, ingat bahwa atribut harus dilemparkan.
Selain itu, tidak ada atribut spesifik servlet , dan tidak ada parameter sesi .
Posting ini ditulis dengan tujuan untuk terhubung pada respons @ Bozho, sebagai informasi tambahan yang dapat berguna bagi orang lain.
Perbedaan antara getAttribute dan getParameter adalah getParameter akan mengembalikan nilai parameter yang dikirimkan oleh formulir HTML atau yang disertakan dalam string kueri. getAttribute mengembalikan objek yang telah Anda tetapkan dalam permintaan, satu-satunya cara Anda dapat menggunakan ini adalah bersama dengan RequestDispatcher. Anda menggunakan RequestDispatcher untuk meneruskan permintaan ke sumber daya lain (JSP / Servlet). Jadi sebelum Anda meneruskan permintaan Anda dapat mengatur atribut yang akan tersedia untuk sumber daya berikutnya.
request.getParameter("testParam")akan mendapatkan nilai dari formulir yang diposting dari kotak input bernama "testParam" yang merupakan "Klien param". Ini kemudian akan mencetaknya, sehingga Anda akan melihat "Client Param" di layar. Jadi request.getParameter () akan mengambil nilai yang telah dikirimkan klien. Anda akan mendapatkan nilai di sisi server.
- getAttribute ():,request.getAttribute() ini semua dilakukan di sisi server. ANDA menambahkan atribut ke permintaan dan ANDA mengirimkan permintaan ke sumber daya lain, klien tidak tahu tentang ini. Jadi semua penanganan kode ini biasanya di servlets.getAttribute selalu mengembalikan objek.
getParameter - Digunakan untuk mendapatkan informasi yang Anda butuhkan dari halaman HTML Klien
getAttribute - Ini digunakan untuk mendapatkan parameter yang ditetapkan sebelumnya di halaman JSP atau Servlet yang sama atau yang sama.
Pada dasarnya, jika Anda meneruskan atau hanya beralih dari satu jsp / servlet ke yang lain, tidak ada cara untuk memiliki informasi yang Anda inginkan kecuali Anda memilih untuk meletakkannya di Objek dan menggunakan atribut-set untuk menyimpan dalam variabel Sesi.
Menggunakan getAttribute, Anda dapat mengambil variabel Sesi.
"Parameter" adalah pasangan nama / nilai yang dikirim dari klien ke server - biasanya, dari formulir HTML. Parameter hanya dapat memiliki nilai String. Terkadang (misalnya menggunakan permintaan GET) Anda akan melihat ini disandikan langsung ke URL (setelah?, Masing-masing dalam bentuk nama = nilai, dan setiap pasangan dipisahkan oleh &). Di lain waktu, mereka termasuk dalam badan permintaan, saat menggunakan metode seperti POST.
"Atribut" adalah mekanisme penyimpanan server-lokal - tidak ada yang disimpan dalam attribues yang dicakup pernah ditransmisikan di luar server kecuali Anda secara eksplisit membuat itu terjadi. Atribut memiliki nama String, tetapi menyimpan nilai Object. Perhatikan bahwa atribut khusus untuk Java (mereka menyimpan Java Objects), sementara parameternya adalah platform-independent (mereka hanya string yang diformat yang terdiri dari byte generik).
Ada empat lingkup atribut secara total: "halaman" (hanya untuk JSP dan file tag), "permintaan" (terbatas pada permintaan klien saat ini, dihancurkan setelah permintaan selesai), "sesi" (disimpan dalam sesi klien, tidak valid setelah sesi diakhiri), "aplikasi" (ada untuk semua komponen untuk mengakses selama masa aplikasi Anda dikerahkan).
Intinya adalah: gunakan parameter saat mendapatkan data dari klien, gunakan atribut cakupan saat menyimpan objek di server untuk digunakan secara internal oleh aplikasi Anda saja.
Jawaban:
getParameter()
mengembalikan parameter permintaan http. Itu diteruskan dari klien ke server. Sebagai contohhttp://example.com/servlet?parameter=1
. Hanya bisa kembaliString
getAttribute()
hanya untuk penggunaan sisi server - Anda mengisi permintaan dengan atribut yang dapat Anda gunakan dalam permintaan yang sama. Misalnya - Anda menetapkan atribut dalam servlet, dan membacanya dari JSP. Dapat digunakan untuk objek apa pun, bukan hanya string.sumber
${attrName}
di halaman jsp, itu adalah atribut yang Anda tetapkan gunakanrequest.getSession().setAttribute()
?getAttribute()
bukan hanya untuk penggunaan sisi server: Anda bisa mendapatkan data atribut di front-end - di halaman jsp misalnya, dan menampilkannyaSecara umum, parameter adalah nilai string yang paling umum diketahui dikirim dari klien ke server (mis. Formulir posting) dan diambil dari permintaan servlet . Pengecualian yang membuat frustrasi adalah parameter awal ServletContext yang merupakan parameter string yang dikonfigurasi di web.xml dan ada di server.
Atribut adalah variabel server yang ada dalam lingkup yang ditentukan yaitu:
application
, tersedia untuk masa pakai seluruh aplikasisession
, tersedia untuk seumur hidup sesirequest
, hanya tersedia selama umur permintaanpage
(Khusus JSP), hanya tersedia untuk halaman JSP saat inisumber
request.getParameter ()
Kami menggunakan
request.getParameter()
untuk mengekstrak parameter permintaan (yaitu data yang dikirim dengan memposting formulir html). Nilairequest.getParameter()
selalu kembaliString
dan data berasal dari klien.request.getAttribute ()
Kami menggunakan
request.getAttribute()
untuk mendapatkan objek yang ditambahkan ke ruang lingkup permintaan di sisi server yaitu menggunakanrequest.setAttribute()
. Anda dapat menambahkan semua jenis objek yang Anda suka di sini,,Strings
Objek khusus, bahkan objek apa pun. Anda menambahkan atribut ke permintaan dan meneruskan permintaan ke sumber daya lain, klien tidak tahu tentang ini. Jadi semua kode yang menangani ini biasanya dalam JSP / servlets. Anda dapat menggunakanrequest.setAttribute()
untuk menambahkan informasi tambahan dan meneruskan / mengalihkan permintaan saat ini ke sumber daya lain.Misalnya, pertimbangkan tentang first.jsp,
dan second.jsp:
Dari browser Anda, jalankan first.jsp? CLIENT = Anda dan output pada browser Anda
Perbedaan mendasar antara
getAttribute()
dangetParameter()
adalah bahwa metode pertama mengekstraksi objek Java (serial) dan yang lainnya memberikan nilai String. Untuk kedua kasus, sebuah nama diberikan sehingga nilainya (baik itu string atau kacang java) dapat dicari dan diekstraksi.sumber
Sangat penting untuk mengetahui bahwa atribut bukan parameter .
Tipe return untuk atribut adalah Object , sedangkan tipe return untuk parameter adalah String . Saat memanggil
getAttribute(String name)
metode, ingat bahwa atribut harus dilemparkan.Selain itu, tidak ada atribut spesifik servlet , dan tidak ada parameter sesi .
Posting ini ditulis dengan tujuan untuk terhubung pada respons @ Bozho, sebagai informasi tambahan yang dapat berguna bagi orang lain.
sumber
Perbedaan antara getAttribute dan getParameter adalah getParameter akan mengembalikan nilai parameter yang dikirimkan oleh formulir HTML atau yang disertakan dalam string kueri. getAttribute mengembalikan objek yang telah Anda tetapkan dalam permintaan, satu-satunya cara Anda dapat menggunakan ini adalah bersama dengan RequestDispatcher. Anda menggunakan RequestDispatcher untuk meneruskan permintaan ke sumber daya lain (JSP / Servlet). Jadi sebelum Anda meneruskan permintaan Anda dapat mengatur atribut yang akan tersedia untuk sumber daya berikutnya.
sumber
- getParameter () :
request.getParameter("testParam")
akan mendapatkan nilai dari formulir yang diposting dari kotak input bernama "testParam" yang merupakan "Klien param". Ini kemudian akan mencetaknya, sehingga Anda akan melihat "Client Param" di layar. Jadi request.getParameter () akan mengambil nilai yang telah dikirimkan klien. Anda akan mendapatkan nilai di sisi server.- getAttribute ():,
request.getAttribute()
ini semua dilakukan di sisi server. ANDA menambahkan atribut ke permintaan dan ANDA mengirimkan permintaan ke sumber daya lain, klien tidak tahu tentang ini. Jadi semua penanganan kode ini biasanya di servlets.getAttribute selalu mengembalikan objek.sumber
getParameter
- Digunakan untuk mendapatkan informasi yang Anda butuhkan dari halaman HTML KliengetAttribute
- Ini digunakan untuk mendapatkan parameter yang ditetapkan sebelumnya di halaman JSP atau Servlet yang sama atau yang sama.Pada dasarnya, jika Anda meneruskan atau hanya beralih dari satu jsp / servlet ke yang lain, tidak ada cara untuk memiliki informasi yang Anda inginkan kecuali Anda memilih untuk meletakkannya di Objek dan menggunakan atribut-set untuk menyimpan dalam variabel Sesi.
Menggunakan getAttribute, Anda dapat mengambil variabel Sesi.
sumber
dari http://www.coderanch.com/t/361868/Servlets/java/request-getParameter-request-getAttribute
sumber
Kasus lain yang harus Anda gunakan
.getParameter()
adalah ketika meneruskan dengan parameter di jsp:Di
destination.jsp
, Anda dapat mengaksesuserName
seperti ini:sumber
Perbedaan mendasar antara getAttribute () dan getParameter () adalah tipe kembali.
sumber