Session Öffnen

Status
Nicht offen für weitere Antworten.

disconnectus

Aktives Mitglied
Ich schreibe ein Programm welche von vielen verschiedene Benutzern benutzt wird.

Am Anfang von diesem Programm Frage ich Pass und Benutzername. Mit diesen informationen möchte ich für jeder
Benutzer eine eigene Session öffnen.

Ich habe verschiedene lösungen im Kopf.

Was ist der günstigste Weg. Wie soll ich vorgehen. Gibt es eine bekannte lösung dazu.
 
S

SlaterB

Gast
was für eine Art Programm mit welchen Eingaben?
wenn eine Maus in einer GUI herumklickt, woher weißt du dann, welcher Benutzer es war, falls überhaupt mehrere in einem Java-Programm denkbar sind,

oder gehts um Client/ Server-Verbindungen? J2EE, RMI, ..?
 

disconnectus

Aktives Mitglied
So habe ich gedacht :)

Code:
package de.disconnectus;

import java.awt.*;
import javax.swing.*;
import java.awt.event.*;


public class LayoutVersuch extends JFrame implements ActionListener{
	JLabel label1; 
	JLabel label2;
	JLabel label3;
	JButton button1;
	JButton button2;
	JTextField textField1;
	JPasswordField passwordField1;
	static String [][] userInformations = new String [100][100] ; 


	
	LayoutVersuch () {
		
		super ();
		this.setTitle("6.0'a Hosgeldiniz.");
				
		// Set them all.	
		label1 = new JLabel("Lütfen kullanici bilgilerinizi giriniz. ");
		label1.setBounds( 50,20,200,20);
		label2 = new JLabel("Kullanici Adi :  ");
		label2.setBounds( 30,60,100,20);		 
		label3 = new JLabel("Sifre: ");
		label3.setBounds( 30,85,40,20);

		button1 = new JButton ("Tamam");
		button1.setBounds (60,120,80,30);
		button1.addActionListener(this);
		button2 = new JButton ("Iptal");
		button2.setBounds (160,120,80,30);
		button2.addActionListener(this);
		
		
		textField1 = new JTextField ();
		textField1.setBounds(120, 60, 150, 20);
		passwordField1 = new JPasswordField ();
		passwordField1.setBounds(120,85,150,20);
		 
		 // Add them all.
		this.getContentPane().add(label1);	
		this.getContentPane().add(label2);	
		this.getContentPane().add(label3);	
		this.getContentPane().add(button1);	
		this.getContentPane().add(button2);	
		this.getContentPane().add(textField1);
		this.getContentPane().add(passwordField1);
		
		// Admin Pass
		userInformations[0][0] = "benutzername";
		userInformations[0][1] = "password";
		
	}
	public static void main (String [] args) 
	{
		LayoutVersuch frame1 = new LayoutVersuch ();
		frame1.setSize(300 ,200);
		frame1.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		frame1.setLayout(null);
		frame1.setVisible(true);
			
	}
			
		
	public void actionPerformed(ActionEvent arg0) {
		if (arg0.getActionCommand()== button1.getText()) 
		{
	    for (int i= 0; i<userInformations.length; i++) 
			{
				for (int j= 0; j<userInformations[i].length; j++) 
				{
					if ((userInformations [i][j]).equals(textField1.getText())
							&& (userInformations[i][j]).equals(passwordField1.getText())) 
					{
						Admin.main();	


						
					}
				}
			}		                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               
		} else if (arg0.getActionCommand()== button2.getText()){
			System.exit(0);
		}		
	}
}

Bekomme ich diese Fehlermeldung :
Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException
at de.disconnectus.LayoutVersuch.actionPerformed(LayoutVersuch.java:80)
at javax.swing.AbstractButton.fireActionPerformed(Unknown Source)
at javax.swing.AbstractButton$Handler.actionPerformed(Unknown Source)
at javax.swing.DefaultButtonModel.fireActionPerformed(Unknown Source)
at javax.swing.DefaultButtonModel.setPressed(Unknown Source)
at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(Unknown Source)
at java.awt.Component.processMouseEvent(Unknown Source)
at javax.swing.JComponent.processMouseEvent(Unknown Source)
at java.awt.Component.processEvent(Unknown Source)
at java.awt.Container.processEvent(Unknown Source)
at java.awt.Component.dispatchEventImpl(Unknown Source)
at java.awt.Container.dispatchEventImpl(Unknown Source)
at java.awt.Component.dispatchEvent(Unknown Source)
at java.awt.LightweightDispatcher.retargetMouseEvent(Unknown Source)
at java.awt.LightweightDispatcher.processMouseEvent(Unknown Source)
at java.awt.LightweightDispatcher.dispatchEvent(Unknown Source)
at java.awt.Container.dispatchEventImpl(Unknown Source)
at java.awt.Window.dispatchEventImpl(Unknown Source)
at java.awt.Component.dispatchEvent(Unknown Source)
at java.awt.EventQueue.dispatchEvent(Unknown Source)
at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.run(Unknown Source)

Könnt ihr jetzt helfen?
 
S

SlaterB

Gast
userInformations [j].equals wird zur NullPointerExceptio führen, wenn das Array nicht vollständig gefüllt ist,
oder in dem if dies abfangen,

günstig ist z.B. eingabe.equals(array), da die Eingabe nicht null sein kann,
andererseits ist es auch nicht schlau 100x100 = 10.000 Felder zu prüfen, die fast alle null sind

wie soll übrigens ein Feld im Array gleichzeitig UserName + Passwort sein?

erstelle dir am besten erstmal eine Klasse UserInformationen, mit zwei Strings drin,
und verwende dann ein ArrayList von Objekten dieser neuen Klasse
 

Schandro

Top Contributor
Grundsätzlich würde so eine Containerklasse ungefähr so aussehen:
Java:
public class UserInformations {
	private String pass;
	private String username;
	
	
	// Konstruktor
	
	public UserInformations(String pass, String username) {
		this.pass = pass;
		this.username = username;
	}
	
	
	// getter/setter
	
	public String getPass() {
		return pass;
	}

	public void setPass(String pass) {
		this.pass = pass;
	}

	public String getUsername() {
		return username;
	}

	public void setUsername(String username) {
		this.username = username;
	}
}

ne List die solche UserInformations aufnimmt kann man z.b. so erstellen:
Java:
List <UserInformations> userInformations = new ArrayList<UserInformations>();
 
S

SlaterB

Gast
was bedeutet denn ein Vergleich bei Listen?
contains() um Enthaltensein zu prüfen?
die Listenelemente von zwei Listen durchlaufen und gegenseitig vergleichen oder worum gehts?
 

Lexi

Bekanntes Mitglied
Falls du einzelne Elemte aus deiner Liste vergleichen willst, dann mach das mit equals.
Java:
list.get(2).equals(list.get(3));
 

Schandro

Top Contributor
wenn du UserInformations mit equals miteinander vergleichen willst bzw. wenn du Methoden wie contains() auf eine List mit UserInformations drinnen aufrufen willst, musst du equals in der Klasse UserInformations überschreiben. (und gegebenfalls noch hashCode)
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
H What is the Life Cycle of an Object Created Within/Outside of a Servlet? Will that item be destroyed after the session ends? Java Basics - Anfänger-Themen 1
F Session wird mehrfach erzeugt Java Basics - Anfänger-Themen 11
B Jsoup: gleiche Session nutzen Java Basics - Anfänger-Themen 0
J HTTP Request auf eine PHP Session Java Basics - Anfänger-Themen 1
V JSP Session ID wechselt andauernd Java Basics - Anfänger-Themen 5
S URL bei abgelaufener Session Java Basics - Anfänger-Themen 2
D Session halten . blos wie? Java Basics - Anfänger-Themen 2
H ist eine "neue Session" für Mail möglich? Java Basics - Anfänger-Themen 3
S Hibernate Session: Wie in alle Klassen Java Basics - Anfänger-Themen 19
F Session Cookies löschen Java Basics - Anfänger-Themen 4
M JavaApplet: Variable in Session speichern o.Ä? Java Basics - Anfänger-Themen 10
P Session-ID Ablaufzeit festlegen Java Basics - Anfänger-Themen 3
D Session Attribute in JSP ausgeben???? Java Basics - Anfänger-Themen 3
N kein Sound beim Öffnen der jar-Datei, in Eclipse schon Java Basics - Anfänger-Themen 1
X Fehler beim Öffnen von Jar Datei: "kein Hauptmanifestattribut" Java Basics - Anfänger-Themen 5
J Zusätzliche Console Öffnen Java Basics - Anfänger-Themen 6
M Datei in java Öffnen Java Basics - Anfänger-Themen 9
U Öffnen einer war-Datei Java Basics - Anfänger-Themen 3
J Öffnen einer jar-Datei Java Basics - Anfänger-Themen 22
P Bild beim Öffnen des Programms einbleden Java Basics - Anfänger-Themen 2
L Öffnen des Programms nach kompilieren nicht möglich Java Basics - Anfänger-Themen 3
D Öffnen externer Dateien mit Eclipse Java Basics - Anfänger-Themen 5
J SWT / Datei-Öffnen Dialog Java Basics - Anfänger-Themen 2
K Neues Fenster Öffnen? Java Basics - Anfänger-Themen 18
K kein Sound beim Öffnen der jar-Datei, in Eclipse schon Java Basics - Anfänger-Themen 2
hdi Ornderübersicht (durchsuchen) für Öffnen/Speichern Java Basics - Anfänger-Themen 4
L JMenuItem Öffnen und Speichern Java Basics - Anfänger-Themen 2
G JComboBox soll beim Öffnen eine andere JCB öffnen Java Basics - Anfänger-Themen 2
G Fehler beim erneuten Öffnen von JInternalFrame Java Basics - Anfänger-Themen 7
T Öffnen externer Datei als eigener Prozess Java Basics - Anfänger-Themen 8
B Öffnen externer Dateien Java Basics - Anfänger-Themen 16
G JSP und xml Dateien Öffnen Java Basics - Anfänger-Themen 16
G JFileChooser EventListener auf Öffnen Button Java Basics - Anfänger-Themen 3
L Merkwürdiges Problem beim Speichern und Öffnen einer Datei Java Basics - Anfänger-Themen 3
E Öffnen von Dateien Java Basics - Anfänger-Themen 5
S Öffnen von Fenster Java Basics - Anfänger-Themen 7
G mehrfaches Öffnen eines JInternalFrame verhindern Java Basics - Anfänger-Themen 11
D Öffnen eines anderen Programms Java Basics - Anfänger-Themen 3

Ähnliche Java Themen

Neue Themen


Oben