สามารถพิมพ์การเข้าสู่ระบบหน่วยความจำได้เพื่อความสะดวกของผู้ใช้
getHeader("Referer"); วิธีการนี้ง่ายแต่ไม่สามารถจัดการพารามิเตอร์ของโพสต์ได้ เดิมทีพวกมันถูกใช้ใน struts และ webwork เพื่อให้เข้าใจง่ายขึ้น จึงถูกเขียนใหม่เป็นเมธอด jsp
------- ------- ----------------------------------------------- ------- ----------------------------------------------- -------
member.jsp // เซสชันจำกัดการเข้าถึงหน้า
<%
สตริง URL = ""
ถ้า(session.getAttribute("ชื่อผู้ใช้")==null)
-
url = myRedirect.dealurl(request);//บันทึกที่อยู่ปัจจุบันและพารามิเตอร์คำขอ Dealurl ประมวลผล URL จริงเพื่อหลีกเลี่ยงการรบกวนกับ URL ที่ร้องขอ เนื่องจากจะมี & ตัวอักษร
response.sendRedirect("weblogin.jsp?url="+url);//เปลี่ยนเส้นทางไปยังหน้าเข้าสู่ระบบ
-
-
-------------------------------------------------- -------------------------------------------------- --------------------------------------------
เว็บล็อก.jsp
<%
สตริง url = request.getParameter("url");
สตริง userid =request.getParameter("userid");
รหัสผ่านสตริง =request.getParameter("รหัสผ่าน");
if(userid!=null) //หากคุณเข้าสู่ระบบและส่ง ให้รันโค้ดต่อไปนี้
{
ถ้า (เข้าสู่ระบบสำเร็จ)
-
session.setAttribute("รหัสผู้ใช้",รหัสผู้ใช้);
out.println("<script>alert('เข้าสู่ระบบสำเร็จ ขอบคุณสำหรับการเยี่ยมชม');self.location.href='"+myRedirect.geturl(url)+"';</script>");//Redirect เป็นครั้งแรก URL ที่ร้องขอ .geturl(url) จะแปลงที่อยู่ที่แปลงกลับเป็น URL จริง
}อื่น{
out.println("<script>alert('ชื่อผู้ใช้หรือรหัสผ่านไม่ถูกต้อง');history.back();</script>");
-
}else{//หากไม่ใช่การส่งการเข้าสู่ระบบ อินเทอร์เฟซการเข้าสู่ระบบปัจจุบันจะปรากฏขึ้น
-
<table width="311" height="162" border="0" align="center" cellpadding="0" cellspacing="0">
<tr>
<td width="311" height="162" align="center"> คุณยังไม่ได้เข้าสู่ระบบ กรุณาเข้าสู่ระบบก่อน<br>
<table width="155" border="0" cellpadding="0" cellspacing="5" class="font12">
<form name="loginfrm" action="weblogin.jsp" method="post" id="loginfrm" onSubmit="return checkfrm();">
<tr>
<td width="41" height="33" valign="bottom">หมายเลขบัญชี:</td>
<td width="99" valign="bottom"><input name="userid" type="text" class="textstyle" id="userid" size="12" style="height:20"></ ทีดี>
</tr>
<tr>
<td>รหัสผ่าน:</td>
<td><input name="password" type="password" class="textstyle" id="password" size="12" style="height:20;width:94"></td>
</tr>
<tr align="center" valign="bottom">
<td height="21" colspan="2"> <input type="submit" name="Submit" value="เข้าสู่ระบบ">
<a href="reg.jsp" target="_blank">ไม่ได้ลงทะเบียน</a>
</tr>
<tr align="center">
<td colspan="2" class="font14"><strong><a href="#" onclick="MM_openBrWindow('requestpwd.jsp','pwd','width=300,height=200');กลับมา false;">ดึงรหัสผ่าน</a></strong></td>
</tr>
<input name="url" type="hidden" value="<%=url%>">จำเป็นต้องซ่อนไว้ที่นี่เพื่อบันทึก ไม่เช่นนั้นการส่งจะสูญหาย
</แบบฟอร์ม>
</ตาราง>
</td>
</tr>
</ตาราง>
-
-
%>
------------------------------------------------ -------------------------------------------------- -------------------------------------------------- -----
myRedirect.java
com.util;
นำเข้า javax.servlet.http.HttpServletRequest;
นำเข้า java.util.Enumeration;
คลาสสาธารณะ myRedirect //คลาสการแปลงสำหรับ url
-
dealurl สตริงคงที่สาธารณะ (คำขอ HttpServletRequest)
-
สตริง URL = "";
url = request.getRequestURL()+"?";
url +=param(ร้องขอ);
ถ้า(url.indexOf("&")>-1)
url=url.replaceAll("&","@#@");//อันที่จริง มันจะแปลงอักขระด้วย & เป็น @#@
URL ส่งคืน;
-
public static String geturl(String url)//นี่คือวิธีการคืนค่า
-
ถ้า(url.indexOf("@#@")>-1)
url=url.replaceAll("@#@","&");
URL ส่งคืน;
-
พารามิเตอร์สตริงคงที่สาธารณะ (คำขอ HttpServletRequest)
-
สตริง URL = "";
Enumeration param = request.getParameterNames();//รับชื่อพารามิเตอร์ทั้งหมด
ในขณะที่ (param.hasMoreElements())
-
สตริง pname = param.nextElement().toString();
url += pname+"="+request.getParameter(pname)+"&";
-
ถ้า(url.endsWith("&"))
-
url = url.substring(0,url.lastIndexOf("&"));
-
URL ส่งคืน;
-
-
ด้วยวิธีนี้ เบราว์เซอร์จะไปยังที่อยู่ที่ผู้ใช้เพิ่งร้องขอเมื่อเข้าสู่ระบบโดยอัตโนมัติ