Lompatan login memori dapat diketik untuk kenyamanan pengguna
;
Metode ini sederhana tetapi tidak dapat menangani parameter post. Awalnya digunakan di struts dan webwork.
------- ---------------------------- ------- ---------------------------- -------
member.jsp //halaman akses terbatas sesi
<%
Tali url = ""
if(session.getAttribute("nama pengguna")==null)
{
url = myRedirect.dealurl(request);//Catat alamat saat ini dan parameter permintaan, dealurl memproses url sebenarnya untuk menghindari gangguan pada url yang diminta, karena akan ada & karakter
respon.sendRedirect("weblogin.jsp?url="+url);//Alihkan ke halaman login
}
%>
--------------------------------------------------- ----------------------------------------
weblogin.jsp
<%
String url = permintaan.getParameter("url");
String userid =request.getParameter("userid");
String kata sandi =request.getParameter("kata sandi");
if(userid!=null) //Jika Anda login dan mengirimkan, jalankan kode berikut
{
jika (login berhasil)
{
sesi.setAttribute("userid",userid);
out.println("<script>alert('Login berhasil, terima kasih telah berkunjung');self.location.href='"+myRedirect.geturl(url)+"';</script>");//Redirect untuk pertama kalinya Url yang diminta, .geturl(url) mengubah alamat yang dikonversi kembali menjadi url asli.
}kalau tidak{
out.println("<script>alert('Nama pengguna dan kata sandi salah');history.back();</script>");
}
}else{//Jika ini bukan pengiriman login, antarmuka login saat ini akan ditampilkan.
%>
<tabel lebar = "311" tinggi = "162" perbatasan = "0" align = "center" cellpadding = "0" sel spasi = "0">
<tr>
<td width="311" height="162" align="center"> Anda belum login, silakan login terlebih dahulu<br>
<tabel lebar = "155" border = "0" cellpadding = "0" sel spasi = "5" class = "font12">
<form name="loginfrm" action="weblogin.jsp" method="post" id="loginfrm" onSubmit="return checkfrm();">
<tr>
<td width="41" height="33" valign="bottom">Nomor rekening:</td>
<td width="99" valign="bottom"><input name="userid" type="text" class="textstyle" id="userid" size="12" style="height:20"></ td>
</tr>
<tr>
<td>Kata sandi:</td>
<td><input name="password" type="password" class="textstyle" id="password" size="12" style="height:20;width:94"></td>
</tr>
<tr align="tengah" valign="bawah">
<td height="21" colspan="2"> <input type="kirim" nama="Kirim" value="Masuk">
<a href="reg.jsp" target="_blank">Tidak terdaftar</a>
</tr>
<tr menyelaraskan="tengah">
<td colspan="2" class="font14"><strong><a href="#" onclick="MM_openBrWindow('requestpwd.jsp','pwd','width=300,height=200');return false;">Ambil kata sandi</a></strong></td>
</tr>
<input name="url" type="hidden" value="<%=url%>">Perlu ada yang disembunyikan di sini untuk menyimpannya, jika tidak, kiriman akan hilang.
</bentuk>
</tabel>
</td>
</tr>
</tabel>
<%
}
%>
------------------------------------------------ --------------------------------------------------- -----
myRedirect.java
com.util;
impor javax.servlet.http.HttpServletRequest;
import java.util.Enumeration;
kelas publik myRedirect //Kelas konversi untuk url
{
Dealurl String statis publik (permintaan HttpServletRequest)
{
Tali url = "";
url = permintaan.getRequestURL()+"?";
url +=param(permintaan);
if(url.indexOf("&")>-1)
url=url.replaceAll("&","@#@");//Faktanya, ini mengubah karakter dengan & menjadi @#@
kembalikan url;
}
public static String geturl(String url)//Ini adalah metode restorasi
{
if(url.indexOf("@#@")>-1)
url=url.replaceAll("@#@","&");
kembalikan url;
}
parameter String statis publik (permintaan HttpServletRequest)
{
Tali url = "";
Param enumerasi = request.getParameterNames();//Dapatkan semua nama parameter
while(param.hasMoreElements())
{
String pname = param.nextElement().toString();
url += pname+"="+request.getParameter(pname)+"&";
}
if(url.berakhirDengan("&"))
{
url = url.substring(0,url.lastIndexOf("&"));
}
kembalikan url;
}
}
Dengan cara ini, browser akan secara otomatis menuju ke alamat yang baru saja diminta pengguna saat login.