Daten aus DB auslesen in ein formular (JSP)

Rouven50

Aktives Mitglied
hey - ich habe eine settings.jsp datei in der ich aus einem formular daten in eine datenbank speicher (das klappt alles wunderbar) nur jetzt stehe ich vor dem problem wie ich den datensatz wieder aus der tabelle in das forumlar bekomme ..weil es nur einen datensatz gibt in der tabelle und der soll immer angezeigt werden in dem formular wenn ich zb die settings.jsp öffne..dann soll also in den input feldern die aktuellen werte stehen die in der datenbank eingelesen wurden.. hier ist mal die jsp datei:

Code:
<jsp:directive.include file="header.jsp" />

<div id="main">

	<h1>Settings &raquo; bearbeiten</h1>

	<%
		//die daten aus den input-feldern auffangen
		String firma = request.getParameter("FIRMA");
		String url = request.getParameter("URL");
		String sprache = request.getParameter("SPRACHE");
		String logo = request.getParameter("LOGO");
		String standardlogo = request.getParameter("STANDARDLOGO");

		//wenn auf speichern geklickt wurde - db verbindung erstellen + einlesen
		if (request.getParameter("submit") != null) {

			//fuegt die daten in die datenbank
			MySQLConnection.insertDataSettings(firma, url, sprache, logo,
					standardlogo);
	%>
	<!-- mitteilen das erfolgreich gespeichert wurde  -->
	<div class='save_infoscreen_win'>Settings erfolgreich
		ge&auml;ndert</div>
	<%
		}

		//werte aus db auslesen und in variable speichern
	%>

	<form action="settings.jsp" method="get" enctype="multipart/form-data">

		<div id="logo_upload">
			<p>
				Logo ausw&auml;hlen:<br /> <input type="file" name="LOGO" size="45"
					value="" />
			</p>
			<p>
				<%
					//ueberprueft ob die checkbox gecheckt ist
					if ("on".equals("on")) {
				%>
				<input class="checkbox" type="checkbox" name="STANDARDLOGO"
					value="on" checked />Als Standardlogo f&uuml;r alle Infoscreens
				verwenden
				<%
					} else {
				%>
				<input class="checkbox" type="checkbox" name="STANDARDLOGO"
					value="on" />Als Standardlogo f&uuml;r alle Infoscreens verwenden
				<%
					}
				%>
			</p>
		</div>

		<div id="settings">
			<p>
				Unternehmen:<br /> <input class="input_text" name="FIRMA"
					type="text" value="<%%>" />
			</p>
			<p>
				URL:<br /> <input class="input_text" name="URL" type="text"
					value="" />
			</p>
			<p>
				Sprache:<br /> <input class="input_text" name="SPRACHE" type="text"
					value="" />
			</p>

			<button type="submit" name="submit" type="button">Speichern</button>

		</div>
	</form>
	<jsp:directive.include file="footer.jsp" />
</div>

</body>
</html>

so sieht meine methode aus die den datensatz ausliest die in einer java datei liegt:

Code:
	public static void printDataSettings() throws InstantiationException, IllegalAccessException {
		conn = getInstance();

		if (conn != null) {
			// Anfrage-Statement erzeugen.
			Statement query;
			try {
				query = conn.createStatement();

				// Ergebnistabelle erzeugen und abholen.
				String sql = "SELECT FIRMA, URL, SPRACHE, LOGO, STANDARDLOGO FROM settings WHERE ID = 1";
				ResultSet result = query.executeQuery(sql);
				
				

			} catch (SQLException e) {
				e.printStackTrace();
			}
		}
	}

nun ist die frage wie ich an die werte komme und mir die in der jsp anzeigen lassen kann .. also zb. value="<%result.getString("FIRMA");%>" aber so funktioniert das nicht

wäre euch echt sehr dankbar für tipps
 
Zuletzt bearbeitet:

HimBromBeere

Top Contributor
Code:
result
ist ja nur in deiner JAVA-Datei bekannt. Gib diesen Wert doch einfach durch die methode zurück und ruf sie in der JSP auf.

Java:
public ResultSet getResult(...) {
    // ... do some stuff here
    return result;
}

HTML:
<% import DeineKlasse; %>
<% result = new DeineKlasse.getResults(...);
...
%>
 
Zuletzt bearbeitet:

Rouven50

Aktives Mitglied
hey danke schonmal :) nur ich habe probleme die methode in der html zu importieren - meine java datei sieht nun wie folgt aus:
Code:
	public ResultSet printDataSettings() throws InstantiationException,
			IllegalAccessException {
		conn = getInstance();

		if (conn != null) {
			// Anfrage-Statement erzeugen.
			Statement query;
			try {
				query = conn.createStatement();

				// fragt die daten ab
				String sql = "SELECT FIRMA, URL, SPRACHE, LOGO, STANDARDLOGO FROM settings WHERE ID = 1";
				ResultSet result = query.executeQuery(sql);
				return result;

			} catch (SQLException e) {
				e.printStackTrace();
			}
		}
		return null;
	}

dann habe ich in der html die java datei importiert die sich im package datenbank befindet
Code:
<%@ page import="datenbank.*"%>

und dann will ich das ergebnis der methode importieren
Code:
result = new MySQLConnection.printDataSettings();
nur da bekomme ich folgenden fehler: syntax error on token "import", invalid expression

habe ich was falsch gemacht bzw falsch importiert? aber eig müsste das doch so richtig sein.. auf die anderen methoden aus der java datei kann ich auch zugreifen (sind allerdings public static void.. methoden)

mfg
 

Rouven50

Aktives Mitglied
das funktioniert ebenfalls nicht
Code:
		ResultSet result = MySQLConnection.getDataSettings();

bekomme dann folgenden error:


PHP:
HTTP ERROR 500

Problem accessing /info2screen/settings.jsp. Reason:

    PWC6033: Unable to compile class for JSP

PWC6197: An error occurred at line: 26 in the jsp file: /settings.jsp
PWC6199: Generated servlet error:
The method getDataSettings() is undefined for the type MySQLConnection


ich weiß echt nicht wie ich die ResultSet methode vernünftig einbinden kann - im internet stehen auch nur beispiele wo die direkt in der methode per system.out.print die werte ausgeben aber halt nicht in eine jsp übergeben

mfg
 

HimBromBeere

Top Contributor
Sollte auch so heißen:
HTML:
<% @page import = mayPackage.MyClass %>

Ist aber ein Weilchen her, dass ich mit JSP rumgemacht hab, müsste mich in die Syntax auch erst mal reinbeißen.
 

Rouven50

Aktives Mitglied
ja genau - das habe ich ja mit dem
Code:
<%@ page import="datenbank.*"%>
gelöst - da werden ja dann alle classen importiert die in dem package sind..das funktioniert auch.. nur das problem ist jetzt ich weiß nicht wie ich die werte richtig in die html speicher
Code:
ResultSet result = MySQLConnection.getDataSettings();

funktioniert irgendwie nicht - dann bekomme ich einen 500 error - ich glaube das ist entscheidend The method getDataSettings() is undefined for the type MySQLConnection ..nur ich weiß nicht was ich falsch mache.. die getDataSettings befindet sich in der MySQLConnection.java
 

Rouven50

Aktives Mitglied
hey hier ist die MySQLConnection.java
Code:
package datenbank;

import java.sql.*;

public class MySQLConnection {

	private static Connection conn = null;

	// Hostname
	private static String dbHost = "***";

	// Port -- Standard: 3306
	private static String dbPort = "3310";

	// Datenbankname
	private static String database = "usr_web7_3";

	// Datenbankuser
	private static String dbUser = "***";

	// Datenbankpasswort
	private static String dbPassword = "****";
	
	private MySQLConnection() throws InstantiationException,
			IllegalAccessException {
		try {

			// Datenbanktreiber für ODBC Schnittstellen laden.
			// Für verschiedene ODBC-Datenbanken muss dieser Treiber
			// nur einmal geladen werden.
			Class.forName("com.mysql.jdbc.Driver").newInstance();

			// Verbindung zur ODBC-Datenbank 'usr_web7_3' herstellen.
			// Es wird die JDBC-ODBC-Brücke verwendet.
			conn = DriverManager.getConnection("jdbc:mysql://" + dbHost + ":"
					+ dbPort + "/" + database + "?" + "user=" + dbUser + "&"
					+ "password=" + dbPassword);
		} catch (ClassNotFoundException e) {
			System.out.println("Treiber nicht gefunden");
		} catch (SQLException e) {
			System.out.println("Connect nicht moeglich");
		}
	}

	private static Connection getInstance() throws InstantiationException,
			IllegalAccessException {
		if (conn == null)
			new MySQLConnection();
		return conn;
	}

	public static void insertDataSettings(String firma, String url,
			String sprache, String logo, String standardlogo)
			throws InstantiationException, IllegalAccessException {
		conn = getInstance();

		if (conn != null) {
			// Anfrage-Statement erzeugen.
			Statement query;
			try {
				query = conn.createStatement();

				// Daten einlesen
				String sql = "UPDATE settings SET FIRMA = '" + firma
						+ "', URL = '" + url + "', SPRACHE = '" + sprache
						+ "', LOGO = '" + logo + "', STANDARDLOGO = '"
						+ standardlogo + "' WHERE ID = 1";

				/*
				 * String sql =
				 * "INSERT INTO settings(FIRMA, URL, SPRACHE, LOGO, STANDARDLOGO) VALUES('"
				 * + firma + "', '" + url + "', '" + sprache + "', '" + logo +
				 * "', '" + standardlogo + "')";
				 */
				query.executeUpdate(sql);

			} catch (SQLException e) {
				e.printStackTrace();
			}
		}
	}

	public static ResultSet getDataSettings() throws InstantiationException,
			IllegalAccessException {
		conn = getInstance();
		if (conn != null) {
			// Anfrage-Statement erzeugen.
			Statement query;
			try {
				query = conn.createStatement();

				// fragt die daten ab
				String sql = "SELECT FIRMA, URL, SPRACHE, LOGO, STANDARDLOGO FROM settings WHERE ID = 1";
				return query.executeQuery(sql);
				
				
			} catch (SQLException e) {
				e.printStackTrace();
			}
		}
		return null;
	}
}
 

HimBromBeere

Top Contributor
Ich weiß schon, was ich an JSP nicht mag, einfach viel zu unübersichtlich. Wie auch immer, ich finde erstmal nichts Dramatisches. Ist die Klasse denn überhaupt auf dem Server vorhanden (also bereits kompiliert worden)?
 

Rouven50

Aktives Mitglied
ja starte ja local mit jetty - und habe die klasse vorher kompiliert (sprich in eclipse oben auf den grünen pfeil gedrückt)
so habe ich das jetzt auch mal versucht :
Code:
value="<% MySQLConnection.getDataSettings().getString("FIRMA"); %>"
- aber bekomme dann folgenden fehler: Before start of result set


gibt es denn noch eine andere möglichkeit die werte auszulesen - ohne die methode in der java datei - evtl direkt in der jsp? finde auch nirgends im internet beispiele wie man werte aus einer datenbank zurück in ein formular liest..nur das http://www.java-forum.org/web-tier/63036-problem-resultset.html ..habe das auch mal mit dem array versucht - aber ohne erfolg
 
S

SlaterB

Gast
aus einem ResultSet kannst du nicht direkt etwas auslesen, das wäre in einem normalen Java-Programm nicht anders,
erst next() aufrufen,

getDataSettings() wird nun gefunden? immerhin

--------

generell wäre es sauberer, jeden Request erst in ein Servlet zu übergeben, eine saubere normale Java-Klasse,
dort alle Daten laden die nötig sind, als Request-Attribute ablegen, Connections schließen falls nötig usw.,
und dann die JSP nur die fertigen Daten aus dem Request anzeigen lassen
 

Rouven50

Aktives Mitglied
hey die werte werden jetzt in der jsp ausgegeben - daaanke euch beiden=) es gibt nur noch ein problem - wie bekomme ich da sim input angezeigt? habe das jetzt so gemacht (wird nicht im input angezeigt aber das system.out wird in der console mit dem richtigen wert angezeigt) - nur halt noch nicht im input feld

Code:
<input class="input_text" name="FIRMA" type="text" value="
<%while(result.next()){
	String firma_value = result.getString(1);
	System.out.println(firma_value); 	
} %>" />
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
torresbig Url nach Webseiten-Login auslesen & Daten an Webseite senden Allgemeine Java-Themen 9
J Daten aus Website-Quelltext auslesen Allgemeine Java-Themen 62
A Erste Schritte Daten aus einer Website auslesen Allgemeine Java-Themen 7
J Auslesen Daten Java/HTML Allgemeine Java-Themen 15
M Daten aus anderen Programmen auslesen Allgemeine Java-Themen 2
G Daten aus Website auslesen Allgemeine Java-Themen 7
J Daten aus GUI auslesen und in Objekte umwandeln Allgemeine Java-Themen 6
OnDemand PC identifizieren / Daten auslesen Allgemeine Java-Themen 15
D Daten eines User auslesen. Allgemeine Java-Themen 5
N Methoden Einzelne Daten aus "Person" auslesen Allgemeine Java-Themen 3
R SerialPort auslesen und Daten verarbeiten Allgemeine Java-Themen 23
M Daten aus doc, pdf .... auslesen Allgemeine Java-Themen 12
Z Daten aus einer Internetseite auslesen? Allgemeine Java-Themen 2
W Datei auslesen und die Daten weiter verarbeiten Allgemeine Java-Themen 4
N Serielle Schnittstelle / COM-Port auslesen und die empfangenen Daten verarbeiten Allgemeine Java-Themen 1
C Daten aus Internetseite (in PHP) auslesen? Allgemeine Java-Themen 6
S Java Methode um Daten aus MySQL auslesen Allgemeine Java-Themen 11
ruutaiokwu MS Exchange Server 2003 Daten auslesen Allgemeine Java-Themen 2
P Systemspezifische Daten mit Java auslesen Allgemeine Java-Themen 2
G Monitor-Daten auslesen Allgemeine Java-Themen 18
H Daten aus MySQL datenbank auslesen und in ArrayList stecken Allgemeine Java-Themen 8
G Daten aus Fremdanwendung auslesen Allgemeine Java-Themen 4
H Daten aus Excel auslesen Allgemeine Java-Themen 6
M Auslesen von Daten aus einer txt Datei fast funktionierend Allgemeine Java-Themen 2
S Daten aus Excel mit POI auslesen Allgemeine Java-Themen 6
T Daten einer Chipkarte über einen Chipkartenleser auslesen Allgemeine Java-Themen 3
I Mehrere Klassen mit den selben Daten Allgemeine Java-Themen 5
padde479 Collections Daten in Dreiecksform Allgemeine Java-Themen 13
V Umgang mit fehlenden Daten in einer Java-Datenanalyseanwendung Allgemeine Java-Themen 5
A Hartgecodete Daten auslagern Allgemeine Java-Themen 4
F Laden von bestimmten Daten aus TAR Archiv Allgemeine Java-Themen 23
S Webservices für binäre Daten? Allgemeine Java-Themen 5
OnDemand Daten in RAM zwischenspeichern oder lieber aus DB holen? Allgemeine Java-Themen 24
J Daten über serielle Schnittstelle empfangen Allgemeine Java-Themen 4
J JSON Daten von einer Webseite erhalten Allgemeine Java-Themen 2
S Entities aus XML - Daten. Allgemeine Java-Themen 1
M Schnelleres Speichern von XML-Daten über URLConnection Allgemeine Java-Themen 4
kodela Klasse mit "gezipten" Daten Allgemeine Java-Themen 6
M Daten aus MatLab Datei lesen Allgemeine Java-Themen 8
N Daten einer JCoTable in JTextArea anzeigen Allgemeine Java-Themen 7
kodela Klassen Klasse "vergisst" ihre Daten Allgemeine Java-Themen 2
C Daten für Klassifikationsverfahren gewinnen Allgemeine Java-Themen 6
J Daten von Quelltext Allgemeine Java-Themen 5
K OOP Daten addieren sich bei GUI-Eingabe Allgemeine Java-Themen 10
J Jasper Reports - Daten vom Hoster Allgemeine Java-Themen 2
kodela Daten während Laufzeit zugriffsbereit Allgemeine Java-Themen 15
J Millisekunde zwischen 2 Daten Allgemeine Java-Themen 6
Q Selbständig ActionEvent auslösen zum Daten senden über serielle Schnittstelle Allgemeine Java-Themen 7
R Android Daten online senden Allgemeine Java-Themen 0
P Datenbank-MiniGUI fügt keine Daten ein Allgemeine Java-Themen 4
K Gespeicherte Daten von einer LinkedList auf vier LinkedList verteilen Allgemeine Java-Themen 6
Q-bert Daten von Java Programm speichern Allgemeine Java-Themen 4
K Datei (CSV-ähnlich) in Java einlesen & mit teil der Daten Graphen erstellen Allgemeine Java-Themen 9
OnDemand Desktop-Applikation schreiben, wie daten persistent? Allgemeine Java-Themen 9
S Erste Schritte Fehlender Gedanken-Ansatz bei Interpretation von Daten Allgemeine Java-Themen 1
K Große Mengen an Daten speichern Allgemeine Java-Themen 9
D Daten in MySQL-Datenbank schreiben Allgemeine Java-Themen 13
A Swing FileWriter schreibt keine Daten in Datei Allgemeine Java-Themen 13
D Best Practice Login-Daten: Wie am besten abrufen? Allgemeine Java-Themen 6
L Best Practice Log Dateien analysieren und eventuell passende Daten am Chart darstellen Allgemeine Java-Themen 1
J Serial Port Daten empfangen Allgemeine Java-Themen 5
H Daten via COM Schnittstelle erhalten Allgemeine Java-Themen 2
J Daten persistent speichern Allgemeine Java-Themen 14
S Allgemeine parallelisierte Loesung um Daten im Hintergrund zu laden..? Allgemeine Java-Themen 6
L Daten ohne Datenbank richtig abspeichern Allgemeine Java-Themen 5
O Serial Port Daten als Tastaturanschlag senden Allgemeine Java-Themen 0
N Zeitabstand zwischen 2 Daten(Mehrzahl von Datum) Allgemeine Java-Themen 3
T Input/Output Daten in eine Datei schreiben Allgemeine Java-Themen 4
Z daten bindung Allgemeine Java-Themen 1
A Datentypen Gregorian Calendar - 2 Daten sind gleich?? Allgemeine Java-Themen 3
L Vergleich-Xml-Daten Allgemeine Java-Themen 3
vandread Daten verschlüsseln mit Java oder Datenbank Allgemeine Java-Themen 15
A Daten in Formularen/Vorlagen erstellen und ausdrucken Allgemeine Java-Themen 3
C HtmlUnit Daten einer Tabelle bekommen ohne, dass diese eine ID aufweist Allgemeine Java-Themen 1
T Daten über port abfangen mit proxy server Allgemeine Java-Themen 12
Todesbote Excel Blattschutz aufheben und Daten einfügen Allgemeine Java-Themen 3
T Mit Apache Poi Daten aus einer Excel Tabelle kopieren und in Word einfügen Allgemeine Java-Themen 1
G Combobox füllen mit daten aus einer Tabelle Allgemeine Java-Themen 4
J Maven .war enthält veraltete Daten Allgemeine Java-Themen 3
N Daten aus Jar laden Allgemeine Java-Themen 10
P Datentypen String-Daten zu Byte-Zahlen konvertieren - Komme nicht weiter nach vielem versuchen :-/ Allgemeine Java-Themen 7
K Input/Output Daten speichern / laden Allgemeine Java-Themen 2
M Best Practice: Daten aufnehmen-speichern-bereitstellen Allgemeine Java-Themen 8
T Daten effizient verwalten Allgemeine Java-Themen 4
B JTable eigene Daten Add Methode Allgemeine Java-Themen 2
S OOP Apache Commons Math - Verwendung von Genetics - Wie werden Daten in Chromosomen gespeichert? Allgemeine Java-Themen 4
C Daten über URL an PHP verschicken Allgemeine Java-Themen 4
S Library fuer Internet-Text-Daten-Quellen..? Allgemeine Java-Themen 8
H OOP Daten über TCP Allgemeine Java-Themen 5
H Input/Output Binäre Daten konvertieren, Output hat Zeilenumbrüche?? Allgemeine Java-Themen 9
B Input/Output Einbinden von Daten in Java Allgemeine Java-Themen 3
L Einbinden von Daten in ausführbare Jar Allgemeine Java-Themen 6
ARadauer Wo liegen die Daten der Preferences Klasse Allgemeine Java-Themen 3
Madlip Erste Schritte Java speichert Daten im Programm?!? Allgemeine Java-Themen 9
S JDialog Daten ins JFrame übergeben Allgemeine Java-Themen 5
F Threads synchronisierung des Zugriffes auf daten Allgemeine Java-Themen 4
O Amazon S3 Anmelden / Daten downloaden Allgemeine Java-Themen 2
A Daten aufbereiten Allgemeine Java-Themen 11
P Daten kopieren mit nio - Zugriff verweigert Allgemeine Java-Themen 8
L Speichern von Daten in JKS Allgemeine Java-Themen 5

Ähnliche Java Themen

Neue Themen


Oben