request.getParameter("companyName"); adalah untuk mendapatkan data yang dikirimkan oleh formulir (namanya adalah CompanyName di formulir halaman depan)
request.getAttribute("cc") adalah untuk mendapatkan data setAttribute Anda (nilai yang diperoleh adalah nilai parameter cc yang Anda simpan sendiri.)
Digunakan untuk parameter di hyperlink. . request.getParameter(nama parameter)
Kelas HttpServletRequest memiliki metode getAttribute() dan metode getParameter() Kedua metode tersebut memiliki perbedaan berikut:
(1) Kelas HttpServletRequest memiliki metode setAttribute() tetapi tidak ada metode setParameter()
(2) Ketika ada hubungan tautan antara dua komponen Web, komponen tertaut memperoleh parameter permintaan melalui metode getParameter(), misalnya, dengan asumsi ada hubungan tautan antara selamat datang.jsp dan autentikasi.jsp, selamat datang.jsp memiliki Kode berikut:
<a href="authenticate.jsp?username=weiqin">authenticate.jsp </a>
atau:
<form name="form1" method="post" action="authenticate.jsp">
Silakan masukkan nama pengguna: <input type="text" name="username">
<input type="kirim" nama="Kirim" value="Kirim">
</bentuk>
Dapatkan nama pengguna parameter permintaan melalui metode request.getParameter("nama pengguna") di authenticate.jsp:
<% String nama pengguna=permintaan.getParameter("nama pengguna" %>
(3) Ketika ada hubungan penerusan antara dua komponen Web, komponen target penerusan membagikan data dalam rentang permintaan dengan komponen sumber penerusan melalui metode getAttribute(). Diasumsikan ada hubungan penerusan antara authenticate.jsp dan hello.jsp. authenticate.jsp berharap dapat meneruskan nama pengguna saat ini ke hello.jsp. Bagaimana cara meneruskan data ini? Pertama panggil metode setAttribute() di authenticate.jsp:
<%
String nama pengguna=permintaan.getParameter("nama pengguna");
request.setAttribute("nama pengguna", nama pengguna);
%>
<jsp:halaman depan="halo.jsp" />
Dapatkan nama pengguna melalui metode getAttribute() di hello.jsp:
<% String nama pengguna=(String)request.getAttribute("nama pengguna" %>
Halo: <%=nama pengguna %>
Mengingat pada tingkat yang lebih dalam, data yang dikirimkan oleh metode request.getParameter() akan diteruskan dari klien Web ke server Web, yang mewakili data permintaan HTTP. Metode request.getParameter() mengembalikan data tipe String.
Data yang diteruskan oleh metode request.setAttribute() dan getAttribute() hanya akan ada di dalam penampung Web dan dibagikan antar komponen Web dengan hubungan penerusan. Kedua metode ini dapat mengatur data bersama bertipe Object
Sederhananya, metode request.getParamenter() menggunakan protokol HTTP untuk mentransfer data dan hanya dapat mentransfer informasi tipe String, sedangkan metode request.setAttribtute() mentransfer data dalam wadah WEB dan dapat meneruskan semua jenis informasi objek. Misalnya, jika servlet listAction ingin meneruskan koleksi LIST ke list.jsp, ia harus menggunakan setAttribute.