Session-Parameter setzen?

Mattze_1987

Mitglied
Hallo liebe und hilfreiche Forenmitglieder,

ich bin gerade dabei, folgendes Beispiel nachzuprogrammieren: linkedin Java API und stieß dabei auf folgenden Abschnitt, mit dem ich nicht viel anfangen konnte:

Java:
session.setAttribute("LINKEDIN_TOKEN", token);  
session.setAttribute("LINKEDIN_TOKEN_SECRET", tokenSecret);  
session.setAttribute("LINKEDIN_REQUEST_TOKEN", requestToken );  
session.setAttribute("LINKEDIN_AUTH_URL", authUrl );

Set all this objects in session.Inorder to proceed with the functions.

Ich vermute mal stark, dass hier eine HTTP-Session gemeint ist, allerdings weiß ich sie auf dieses Beispiel bezogen nicht so recht zu implementieren. Ich habe zwar einfach vor den session-Aufrufen mittels

Java:
HttpSession session = request.getSession(true);

eine Session vorgeschaltet, aber bin mir bezüglich der Richtigkeit nicht sicher und zudem wird der Requestbefehl nicht erkannt. Ich wäre hier für Lösungsvorschläge sehr dankbar.

Gruß
 
S

SlaterB

Gast
was ist jetzt genau die Frage?

> aber bin mir bezüglich der Richtigkeit nicht sicher
dass du mit getSession() die Session bekommst?
doch du kannst dir ziemlich sicher sein dass Session die Session ist und getSession() ein Befehl ist um die Session zu getten ;)

> und zudem wird der Requestbefehl nicht erkannt.
welch ungenaue Beschreibung die beliebige Interpretation zulässt,
- wird 'request' nicht erkannt weil es keine sichtbare Variable diesen Namens an dieser Stelle gibt?
- ist die genannte Methode nicht vorhanden
- oder ..?


im Web in J2EE gibt es Sessions, diese Tatsache sollte grundlegend bekannt sein, sonst wirds in der Tat schwer,
Sessions kann man natürlich irgendwo abholen und u.a. Attribute darin setzen,
was ist unklar?
 

Mattze_1987

Mitglied
Erstmal sorry für die ungenaue Beschreibung. Zunächst einmal war ich mir einfach nicht sicher, ob mit der Session überhaupt eine http-Session gemeint ist, dem scheint aber wohl so.

Nun zum Request: Der Code ist laut Eclipse völlig valide, alles tutti, nur erkennt er den request-Befehl nicht, weil er nirgends deklariert wurde, logisch. Fraglich wäre natürlich jetzt:

1) Wo muss der request deklariert werden?
2) wie erstelle ich eine request-Instanz bezogen auf mein Beispiel (welche Parameter müssen übergeben werden)?

Wobei ich hier auch vermute, dass ein HttpRequest gemeint ist, welcher linked-J-bezogen ist.
 
N

nillehammer

Gast
Ein HTTP-Request wird in mehreren Schritten vom Webcontainer (bspw. Tomcat) verarbeitet, bis der Response zurück an den Browser gesendet wird. Während dieser Verarbeitung will man ja möglicherweise Variablen/Werte (zwischen-)speichern. Dafür gibt es drei Möglichkeiten, die sich in ihrer Sichtbarkeit und in der Lebenszeit unterscheiden. Diese Möglichkeiten nennt man Scopes:
  1. Request: Variablen leben bis zum Versand des Responses und sind nur bei der Bearbeitung des entspr. Requests sichtbar. Hier liegen z.B. GET- und Post-Parameter drinnen.
  2. Session: Manche Werte will man auch zwischen Requests behalten (bspw. Login-Infos eines Users). Diese Werte leben, solange eine Session offen ist. Eine Session ist i.d.R. vom ersten Aufruf irgendeiner Seite bis zu einem bestimmten Ende-Ereignis (automatischer Timeout/User loggt sich aus/ User schließt den Browser) aktiv
  3. Application: In ganz seltenen Fällen will man sogar Daten über die Lebenszeit einer Session hinaus speichern oder global verfügbar haben. Dann nimmt man Application.

eine Session vorgeschaltet, aber bin mir bezüglich der Richtigkeit nicht sicher und zudem wird der Requestbefehl nicht erkannt. Ich wäre hier für Lösungsvorschläge sehr dankbar.
Das war schon der richtige Ansatz. Bei "request" handelt es sich aber nicht um einen Befehl, sondern einen Methoden-Parameter vom Typ HTTPRequest, der in den doXXX (doGet, doPost etc.) übergeben wird. Nutztz Die LinkedIn-API plain Servlets oder hast Du ein anderes Framework? Da sind die Methodennamen oder der Weg, sich einen HTTPRequest zu besorgen, möglicherweise anders.
 
N

nillehammer

Gast
2) wie erstelle ich eine request-Instanz bezogen auf mein Beispiel (welche Parameter müssen übergeben werden)?
Garnicht. Das übernimmt der Webcontainer für Dich. Das ist übrigens einer der ersten Schritte, die der Container macht. Je nach Framework hast Du Möglichkeiten, Dir den (HTTP-)Request zu besorgen. Bei plain Servlets bspw. in den doXXX-Methoden
 
S

SlaterB

Gast
> nur erkennt er den request-Befehl nicht, weil er nirgends deklariert wurde,
ein Befehl kann man doch nicht deklarieren, etwas vorsichtiger weiterhin,
schreibe einfach die Fehlermeldung des Compilers zur Zeile, das kann nie falsch sein


wo du deinen request herbekommst kann von außen niemand ahnen, selber 'erstellen' erscheint in der Regel unklug,
der Standard ist ein Servlet, dessen doGet()-Methode aufgerufen wird, der request ist der Parameter, kommt aus dem Framework,
in dieser Methode ist request vorhanden, evtl. anders benannt, in Untermethoden muss er übergeben werden
 
J

JohannisderKaeufer

Gast
Dem Blogeintrag fehlt etwas.

Eine Einleitung in der er beschreibt, was er überhaupt tun möchte.

I have just started to work in this API with Java .bcoz am basically a Java developer.

Das ist nicht wirklich hilfreich und hilft dir jetzt auch nicht weiter.

Eine Einleitung auf Deutsch könnte so aussehen.

"Verwendung der LinkedIn-Api zur User-Authentification innerhalb einer Servlet-Anwendung".

Du hast anfangs ein Servlet
Java:
class MyServlet extends HttpServlet{
  public void doGet/doPost(HttpServletRequest request, HttpServletResponse response){
  //In dieses gehört der Code hinein der in dem Blog beschrieben wird.
  //Dann wird auch request und session gefunden.
  }
}
 

Mattze_1987

Mitglied
[...]Nutzt Die LinkedIn-API plain Servlets oder hast Du ein anderes Framework? Da sind die Methodennamen oder der Weg, sich einen HTTPRequest zu besorgen, möglicherweise anders.[/QUOTE]

Hier werden wir wohl meinen ersten Vorgehens- und Denkfehler feststellen. Ich habe lediglich den im Link des ersten Posts verwendeten Code genutzt, API-Servlets sind in keinster Weise bei mir eingebunden. Wie ist da die optimale Vorgehensweise? Bin in der Materie leider nicht so versiert.
 

Mattze_1987

Mitglied
Ich bin mal so frei und poste meinen bisherigen Code:

Java:
public class Linkedkeys extends HttpServlet {

	public void doGet(HttpServletRequest request, HttpServletResponse response){

		HttpSession session = request.getSession(true);
		final LinkedInOAuthService oauthService = LinkedInOAuthServiceFactory.getInstance().createLinkedInOAuthService("0zaog2mztsmx", "BpAKorZ4Yl2JH2EF");
		LinkedInRequestToken requestToken = oauthService.getOAuthRequestToken();
		String authUrl = requestToken.getAuthorizationUrl();
		requestToken = (LinkedInRequestToken)session.getAttribute("requestToken");
		String oauthVerifier = request.getParameter("oauth_verifier");
		LinkedInAccessToken accessToken = oauthService.getOAuthAccessToken(requestToken, oauthVerifier);
		final LinkedInApiClientFactory factory = LinkedInApiClientFactory.newInstance("0zaog2mztsmx", "BpAKorZ4Yl2JH2EF");
		final LinkedInApiClient client = factory.createLinkedInApiClient(accessToken);

		Person profile = client.getProfileForCurrentUser(EnumSet.of(ProfileField.ID));  
		System.out.print("CurrentUsers Profile-Id >>"+profile.getId());  
		
	}
	
	public static void main(String[]args){
		Linkedkeys keys=new Linkedkeys();
	}
	
}

Mein folgendes Problem ist (sorry, falls ich zu hart nerve, aber bei webprogrammierung haperts bei mir immer), dass ich absolut keinen Schimmer habe, wie ich diese Methode nun aufrufen soll, da mir (die wahrscheinlich gar nicht benötigten/zur Verfügung stehenden) request- und response-Parameter fehlen.
 
N

nillehammer

Gast
Du selbst rufst die Methoden überhaupt nicht auf. Du programmierst die Servlets und mappst sie in der web.xml auf URLs. Wenn eine URL passt, ruft der Webcontainer automatisch die richtige doXXX-Methode auf. Bspw. Bei klicken auf einen Link die doGet-Methode oder bei absenden eines Formulars die doPost-Methode. Bevor wir hier jetzt aber die Dokumentation von JEE-Web neu schreiben, ist es aber vielleicht ratsam, wenn Du Dich da etwas einliest, z.B. hier: Java Servlet Technology

Wobei noch anzumerken ist, dass heute eher selten direkt mit Servlets programmiert wird, sondern eher mit Webframeworks wie bspw. JSF
 

Mattze_1987

Mitglied
Vielen Dank für den Support so weit, hat mir mehr oder minder geholfen. Mehr insofern, dass ich jetzt weiß, welche Technologie verwandt wird, auf der anderen Seite weniger, weil das mein ursprüngliches Vorhaben, mittels einer lokalen Anwendung einen Accestoken und Accesssecret zu erhalten. Dass das Ganze auf Servlets aufbaut finde ich insofern recht unglücklich, da ich die erhalenen/zu versendenden Daten gerne in einer eigenen GUI darstellen möchte, was mit Servlets recht umständlich scheint.
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
C Probleme mit javax.mail.Session Allgemeine Java-Themen 8
D HTMLUnit Session behalten Allgemeine Java-Themen 1
L XML-Datei und Session Allgemeine Java-Themen 7
L Session auf einer Webseite halten Allgemeine Java-Themen 6
B Frage zu Stateless Session Beans Allgemeine Java-Themen 3
H Problem mit erzeugen eienr neuen Session Allgemeine Java-Themen 3
G Hibernate speichert Daten nur während Session in HSQL-DB Allgemeine Java-Themen 10
V Objekt aus Session als copy by value bekommen Allgemeine Java-Themen 4
F KI / Machine Learning Parameter verschachtelte for Schleifen Allgemeine Java-Themen 2
F KI / Machine Learning Parameter verschachtelte for Schleifen Allgemeine Java-Themen 1
8u3631984 Funktions Parameter mit Lombok "NonNull" annotieren wird in Jacococ Testcoverage nicht herausgefiltert Allgemeine Java-Themen 3
JavaJüngling beliebige Collection die Comperable Elemente enthält als Parameter Allgemeine Java-Themen 37
M Datensatz auf ein bestimmten Parameter einzugrenzen Allgemeine Java-Themen 11
B JAX - RS.... Multiple parameter application/x-www-form-urlencoded.... Allgemeine Java-Themen 6
B Parameter Konstruktor plus rechnen Allgemeine Java-Themen 6
L Die abzuleitende Klasse als Parameter übergeben Allgemeine Java-Themen 4
W Haben Konstruktoren in Java eigentlich immer mindestens einen Parameter? Allgemeine Java-Themen 4
I Array Parameter mit 2 Klassen - NullPointerException Allgemeine Java-Themen 3
F URI mit Parameter klappt nicht Allgemeine Java-Themen 1
H Aufruf eines Web Service anhand übergebenen Parameter Allgemeine Java-Themen 2
temi best practice: Parameter überprüfen, wo? Allgemeine Java-Themen 9
S Parametrisierte jUnit 5-Tests mit eigenen Datentypen/Klassen-Objekten als Test-Parameter Allgemeine Java-Themen 0
MiMa If-Abfrage mit Parameter Allgemeine Java-Themen 8
I Javaaufruf aus Batch inkl. Parameter (Adminrechte) Allgemeine Java-Themen 2
P Java https proxy (-Dhttps.proxyHost) Start-Parameter funktioniert nicht? Allgemeine Java-Themen 2
Neumi5694 Methoden Generic: Rückgabetyp als Class-Parameter übergeben Allgemeine Java-Themen 3
K Java FX Zu startenden FXML-Controller per Parameter wählen Allgemeine Java-Themen 2
F Enum-werte als Methoden-Parameter übergeben Allgemeine Java-Themen 6
T Klassen Parameter weitergabe Allgemeine Java-Themen 1
C Überschreiben mit kontravariante Parameter Allgemeine Java-Themen 13
M Parameter auslesen im Servlet Allgemeine Java-Themen 0
perlenfischer1984 Wann ist ein Parameter Check sinnvoll Allgemeine Java-Themen 7
Neumi5694 Vererbung Parameter muss 2 Bedingungen erfüllen Allgemeine Java-Themen 2
Sogomn Methode als Parameter? Allgemeine Java-Themen 3
T Parameter Allgemeine Java-Themen 6
R Parameter Adapter - Design Allgemeine Java-Themen 1
I Methode verallgemeinern (Methode als Parameter)? Allgemeine Java-Themen 10
F In OSX: Java-Programm über URI-Scheme aufrufen mit Parameter? Allgemeine Java-Themen 0
H Generics als Parameter Allgemeine Java-Themen 1
N [stream-api] Parameter pro Typ zählen Allgemeine Java-Themen 1
OnDemand Maximale Parameter Allgemeine Java-Themen 5
M final vor dem parameter eines Konstruktors Allgemeine Java-Themen 1
S Servlet, per URLConnection Mit String Http Parameter mitsenden Allgemeine Java-Themen 3
M Parameter-Datei einlesen (zeilenweise); Dateiintegrität Allgemeine Java-Themen 7
H JasperReport: Parameter befüllen Allgemeine Java-Themen 7
Joew0815 JList + JTableModel: Parameter der Tabelle übergeben Allgemeine Java-Themen 10
Y Applet/Html - Wie Java-Methode aufrufen, die einen Parameter erwartet? Allgemeine Java-Themen 3
G Polymorphie Funktion als Parameter Allgemeine Java-Themen 8
G Methoden Unterschiedliche viele Parameter Allgemeine Java-Themen 17
F Parameter im Link /jar-Aufruf Allgemeine Java-Themen 12
S OOP Designrichtlinie Parameter Prüfung Allgemeine Java-Themen 7
C char und char-Array als parameter übergeben Allgemeine Java-Themen 6
B Array Parameter Problem Allgemeine Java-Themen 3
C Reflektions, Benutzer soll Konstruktor auswählen und Parameter übergeben können Allgemeine Java-Themen 5
S Keytool: mögliche Werte für Parameter Allgemeine Java-Themen 4
H Externes Programm, Parameter Allgemeine Java-Themen 6
C Webservice: XML Parameter übergabe. Allgemeine Java-Themen 7
P VM-Parameter -D... Allgemeine Java-Themen 3
V Wildcard aus Parameter in return type Allgemeine Java-Themen 2
O Collections Eigene Methodenzusicherung bei Collections als Parameter Allgemeine Java-Themen 2
W ScriptEngine + Wie Parameter übergeben bei Fukntion? Allgemeine Java-Themen 2
A Reflection Konstruktor Parameter Supertyp Allgemeine Java-Themen 2
F Parameter für Java Applikation per xml ins Meta-inf speichern? Allgemeine Java-Themen 3
J BlueJ Methode hat zu viele Parameter Allgemeine Java-Themen 6
R VM-Error - BadWindow (invalid Window parameter) Allgemeine Java-Themen 4
J Parameter an Java übergeben Allgemeine Java-Themen 10
S Neue Instanz eines Objekts erzeugen - Konstruktor erhaelt Parameter. Allgemeine Java-Themen 5
P VM Parameter und .jar Allgemeine Java-Themen 3
L Parameter-Objekte verändern oder nicht? Allgemeine Java-Themen 6
J Parameter absichtlich für außen verändern Allgemeine Java-Themen 4
A wie kann man Parameter an ein Task übergeben? Allgemeine Java-Themen 3
Iron Monkey Singleton mit Parameter Allgemeine Java-Themen 14
G setter und getter: Parameter Überprüfung Allgemeine Java-Themen 6
G JVM Parameter Allgemeine Java-Themen 7
G Parameter Bedeutung Allgemeine Java-Themen 4
W Properties-Klasse: mehrere Parameter-Belegungen übergeben? Allgemeine Java-Themen 2
J Unicode: cmd parameter (main args); exec params; filenames Allgemeine Java-Themen 2
C US_export_policy.jar und local_policy.jar VM Parameter Allgemeine Java-Themen 1
J Casten ueber generischen Parameter? Allgemeine Java-Themen 5
T Parameter einer Klasse auf Interface prüfen Allgemeine Java-Themen 6
G generische Klasse als Parameter einer generischen Klasse Allgemeine Java-Themen 5
G Parameter oder Attribut (wann nehme ich was?) Allgemeine Java-Themen 12
S .rar-Dateien ein Passwort als Parameter übergeben Allgemeine Java-Themen 5
N Funktion als Parameter einer anderen Funktion Allgemeine Java-Themen 5
D Parameter parsen? Allgemeine Java-Themen 15
G Typ Parameter & Reflections Allgemeine Java-Themen 4
F mehrere Verzeichnisse als Parameter Allgemeine Java-Themen 15
Y Javadoc - Wie Parameter ansprechen bei Methodenkommentar Allgemeine Java-Themen 2
G Parameter bei mailto Allgemeine Java-Themen 2
C Java Parameter zum starten ohne auf Programmende zu warten Allgemeine Java-Themen 4
V Jar Datei mit Parameter starten Allgemeine Java-Themen 7
P Übergabe- Parameter SQL Map Allgemeine Java-Themen 45
S URL-Parameter auslesen Allgemeine Java-Themen 2
F Parameter vs Argument Allgemeine Java-Themen 4
T xverify-parameter : Workaround zur Laufzeit? Allgemeine Java-Themen 8
F Viele generische Parameter sinnvoll? oder besser casten? Allgemeine Java-Themen 10
P command line parameter auswerten Allgemeine Java-Themen 3
M Parameter an main übergeben aber wie? Allgemeine Java-Themen 4
T Parameter an Thread übergeben Allgemeine Java-Themen 8
S synchronisation einer Methode abhängig vom Parameter Allgemeine Java-Themen 10

Ähnliche Java Themen

Neue Themen


Oben