2016-08-01 5 views
0

Jetzt in meiner Seite habe ich einen Parameter Anruf personid, wenn Besucher die URL wie eingeben: http://helloworld.com?personid=123, und ich werde die Person Informationen zurückgeben, was personid 123 ist. Ich kann nicht wissen, ob diese Person echt ist Person besuchen Sie die Seite zum ersten Mal, ich werde sendRedirect verwenden und dann den anderen Parameter attatch.Aber jetzt ist dieser Weg falsch.Kann ich Sitzung oder einen anderen Weg, um die Seite nur einmal zu aktualisieren?Wie verwende ich sendRedirect oder Session oder Forward, um meine Webseite nur einmal zu aktualisieren?

<% 
String personid = request.getParameter("personid "); 
String vpersonid= request.getParameter("vpersonid"); 
if (vpersonid== null) { 
    String url="http://myserver/distinguishusrtoken.do?redirect_uri=http://helloworld.com/index.jsp?personid=123&personid ="+personid ; 
    response.sendRedirect(url); 
} 
%> 

Wenn die Leute besuchen die Web http://helloworld.com?personid=123, ist die letzte url http://helloworld.com?personid=123&ppersonid=123, aber wenn Menschen http://helloworld.com?personid=123&ppersonid=123 direkt auf das Keyword und die URL sehen, althought es sich um eine gefälschte URL ist, aber ich anything.How nicht tun können, um zu umleiten auf die self-Seite nur einmal? Ich versuche Sitzung zu verwenden, aber es ist eine Endlosschleife?

+0

Bitte formatieren Sie Ihren Code richtig und zögern Sie nicht, Leerzeichen zu verwenden. Das Code-Snippet oben ist nicht lesbar –

+0

Ich denke, Sie brauchen Authentifizierung/AUthorization mechanisme und nicht somethinkg wie oben – lordkain

Antwort

1

Jedes Mal, wenn Sie mit einer solchen Situation kommen, würde ich Ihnen empfehlen, Sie Architektur und/oder Ansatz zu überdenken. Zum Beispiel würde ich für Ihr aktuelles Problem vorschlagen, dass Sie auf Filter schauen. Es erlaubt Ihnen, Ihre Servlets und JPSs von nicht spezifischen Aufgaben für sie frei zu halten. Ich werde hier keinen Code posten, denn die Frage ist ein bisschen allgemein und würde eher empfehlen, einige Beispiele von Filtern im Internet zu betrachten. Zum Beispiel here.

BTW, Sie haben das Tag spring zu Ihrer Frage hinzugefügt, also kann ich annehmen, dass Sie Spring Framework in der Anwendung verwenden. Wenn dies zutrifft, kann Framework viele Dinge übernehmen, so dass Sie die Anforderungsparameter nicht manuell extrahieren müssen.

Verwandte Themen