Der Speicher-Login-Sprung kann zur Benutzerfreundlichkeit eingegeben werden
getHeader("Referer"); Die Methode ist einfach, kann aber nicht mit den Parametern von Post umgehen. Um das Verständnis zu erleichtern, wurde sie in die JSP-Methode umgeschrieben
. ------- ------------------------------------------- ------- ------------------------------------------- -------
member.jsp //Seite mit eingeschränktem Sitzungszugriff
<%
String-URL = „“
if(session.getAttribute("username")==null)
{
url = myRedirect.dealurl(request);// Notieren Sie die aktuelle Adresse und die Anforderungsparameter. Dealurl verarbeitet die tatsächliche URL, um Störungen mit der angeforderten URL zu vermeiden, da & Zeichen vorhanden sind
Response.sendRedirect("weblogin.jsp?url="+url);//Weiterleitung zur Anmeldeseite
}
%>
-------------------------------------------------- ----------------------------------------
weblogin.jsp
<%
String url = request.getParameter("url");
String userid =request.getParameter("userid");
String-Passwort =request.getParameter("password");
if(userid!=null) //Wenn Sie sich anmelden und senden, führen Sie den folgenden Code aus
{
if (Anmeldung erfolgreich)
{
session.setAttribute("userid",userid);
out.println("<script>alert('Anmeldung erfolgreich, vielen Dank für Ihren Besuch');self.location.href='"+myRedirect.geturl(url)+"';</script>");//Redirect zum ersten Mal Die angeforderte URL, .geturl(url) konvertiert die konvertierte Adresse zurück in die echte URL.
}anders{
out.println("<script>alert('Benutzername oder Passwort ist falsch');history.back();</script>");
}
}else{//Wenn es sich nicht um eine Login-Übermittlung handelt, wird die aktuelle Login-Schnittstelle angezeigt.
%>
<table width="311" height="162" border="0" align="center" cellpadding="0" cellpacing="0">
<tr>
<td width="311" height="162" align="center"> Sie sind noch nicht angemeldet, bitte melden Sie sich zuerst an<br>
<table width="155" border="0" cellpadding="0" cellpacing="5" class="font12">
<form name="loginfrm" action="weblogin.jsp" method="post" id="loginfrm" onSubmit="return checkfrm();">
<tr>
<td width="41" height="33" valign="bottom">Kontonummer:</td>
<td width="99" valign="bottom"><input name="userid" type="text" class="textstyle" id="userid" size="12" style="height:20"></ td>
</tr>
<tr>
<td>Passwort:</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="Login">
<a href="reg.jsp" target="_blank">Nicht registriert</a>
</tr>
<tr align="center">
<td colspan="2" class="font14"><strong><a href="#" onclick="MM_openBrWindow('requestpwd.jsp','pwd','width=300,height=200');return false;">Passwort abrufen</a></strong></td>
</tr>
<input name="url" type="hidden" value="<%=url%>">Hier muss ein Versteck vorhanden sein, um es zu speichern, sonst geht die Übermittlung verloren.
</form>
</table>
</td>
</tr>
</table>
<%
}
%>
------------------------------------------------ -------------------------------------------------- -----
myRedirect.java
package com.util;
import javax.servlet.http.HttpServletRequest;
import java.util.Enumeration;
öffentliche Klasse myRedirect //Konvertierungsklasse für URL
{
öffentlicher statischer String dealurl(HttpServletRequest-Anfrage)
{
String-URL = „“;
url = request.getRequestURL()+"?";
URL +=param(Anfrage);
if(url.indexOf("&")>-1)
url=url.replaceAll("&","@#@");// Tatsächlich werden Zeichen mit & in @#@ konvertiert
Rückgabe-URL;
}
public static String geturl(String url)//Dies ist die Wiederherstellungsmethode
{
if(url.indexOf("@#@")>-1)
url=url.replaceAll("@#@","&");
Rückgabe-URL;
}
öffentlicher statischer String-Parameter (HttpServletRequest-Anfrage)
{
String-URL = "";
Enumeration param = request.getParameterNames();//Alle Parameternamen abrufen
while(param.hasMoreElements())
{
String pname = param.nextElement().toString();
url += pname+"="+request.getParameter(pname)+"&";
}
if(url.endsWith("&"))
{
url = url.substring(0,url.lastIndexOf("&"));
}
Rückgabe-URL;
}
}
Auf diese Weise ruft der Browser automatisch die Adresse auf, die der Benutzer beim Anmelden gerade angefordert hat.