J
Julia Schulz
Gast
Hi ich möchte gerne über eine Java BEAN eine Datenbank -Verbindung zu einer MYSQL Datenbank erzeugen allerdings wenn ich in Easy Eclipse das ganze ausführen möchte bekomm ich folgende Fehlermeldung . Da kommt ständig die Meldung Fehler in line of code was aber nicht sein kann da ich diese Beispiele von einem Buch verwende. Ist mir nicht ganz klar wo da der Fehler liegen könnte? Vl weis jemand aus em Forum wo der Fehler sein könnte ????
Beide JAVA Dateien ( lesenDB.jsp und DBZugriff befinden sich im package namens DB.
Fehleranzeige:
Also den Treiber hab ich selbstverständlich importiert das is der MYSQL Treiber mysq-connector 5.0.8.
Ich poste mal meine DB:
-- phpMyAdmin SQL Dump
-- version 2.11.4
-- http://www.phpmyadmin.net
--
-- Host: localhost
-- Erstellungszeit: 08. März 2008 um 16:01
-- Server Version: 5.0.51
-- PHP-Version: 5.2.5
SET SQL_MODE="NO_AUTO_VALUE_ON_ZERO";
--
-- Datenbank: `dbbenutzer`
--
-- --------------------------------------------------------
--
-- Tabellenstruktur für Tabelle `benutzer`
--
CREATE TABLE IF NOT EXISTS `benutzer` (
`benutzernr` int(11) NOT NULL,
`pseudonym` varchar(10) NOT NULL,
`passwort` varchar(6) NOT NULL,
PRIMARY KEY (`benutzernr`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1;
--
-- Daten für Tabelle `benutzer`
--
INSERT INTO `benutzer` (`benutzernr`, `pseudonym`, `passwort`) VALUES
(1, 'tom', 'test'),
(2, 'uli', 'test'),
(3, 'klaus', 'test');
Hier kommt dann meine lesendb.jsp:
Und zu guter letzt die JAVA-Klasse DBZugriff.java
[/code]
Beide JAVA Dateien ( lesenDB.jsp und DBZugriff befinden sich im package namens DB.
Fehleranzeige:
Code:
--------------------------------------------------------------------------------
type Exception report
message
description The server encountered an internal error () that prevented it from fulfilling this request.
exception
org.apache.jasper.JasperException: Unable to compile class for JSP:
An error occurred at line: 30 in the jsp file: /lesendb.jsp
benutzernr cannot be resolved
27: String benutzernr = tabelleBenutzer.getString("BENUTZERNR");
28: String pseudonym = tabelleBenutzer.getString("PSEUDONYM");%>
29: <tr>
30: <td><%=benutzernr %></td>
31: <td><%=pseudonym %></td>
32: <td><%=tabelleBenutzer.getString("PASSWORT")%></td>
33: </tr>
An error occurred at line: 31 in the jsp file: /lesendb.jsp
pseudonym cannot be resolved
28: String pseudonym = tabelleBenutzer.getString("PSEUDONYM");%>
29: <tr>
30: <td><%=benutzernr %></td>
31: <td><%=pseudonym %></td>
32: <td><%=tabelleBenutzer.getString("PASSWORT")%></td>
33: </tr>
34: <%catch} %>
An error occurred at line: 34 in the jsp file: /lesendb.jsp
Syntax error on token "catch", { expected
31: <td><%=pseudonym %></td>
32: <td><%=tabelleBenutzer.getString("PASSWORT")%></td>
33: </tr>
34: <%catch} %>
35:
36:
37:
An error occurred at line: 34 in the jsp file: /lesendb.jsp
Syntax error, insert "}" to complete Block
31: <td><%=pseudonym %></td>
32: <td><%=tabelleBenutzer.getString("PASSWORT")%></td>
33: </tr>
34: <%catch} %>
35:
36:
37:
An error occurred at line: 34 in the jsp file: /lesendb.jsp
Syntax error, insert "Finally" to complete TryStatement
31: <td><%=pseudonym %></td>
32: <td><%=tabelleBenutzer.getString("PASSWORT")%></td>
33: </tr>
34: <%catch} %>
35:
36:
37:
An error occurred at line: 97 in the generated java file
Syntax error on token "catch", Identifier expected
An error occurred at line: 99 in the generated java file
out cannot be resolved
An error occurred at line: 99 in the generated java file
_jspx_out cannot be resolved
An error occurred at line: 100 in the generated java file
out cannot be resolved
An error occurred at line: 100 in the generated java file
out cannot be resolved
An error occurred at line: 101 in the generated java file
out cannot be resolved
An error occurred at line: 102 in the generated java file
_jspx_page_context cannot be resolved
An error occurred at line: 102 in the generated java file
_jspx_page_context cannot be resolved
An error occurred at line: 104 in the generated java file
Syntax error on token "finally", { expected
An error occurred at line: 105 in the generated java file
_jspxFactory cannot be resolved
An error occurred at line: 105 in the generated java file
_jspxFactory cannot be resolved
An error occurred at line: 105 in the generated java file
_jspx_page_context cannot be resolved
Stacktrace:
org.apache.jasper.compiler.DefaultErrorHandler.javacError(DefaultErrorHandler.java:93)
org.apache.jasper.compiler.ErrorDispatcher.javacError(ErrorDispatcher.java:330)
org.apache.jasper.compiler.JDTCompiler.generateClass(JDTCompiler.java:435)
org.apache.jasper.compiler.Compiler.compile(Compiler.java:298)
org.apache.jasper.compiler.Compiler.compile(Compiler.java:277)
org.apache.jasper.compiler.Compiler.compile(Compiler.java:265)
org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:564)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:302)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:329)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:265)
javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
note The full stack trace of the root cause is available in the Apache Tomcat/5.5.26 logs.
Also den Treiber hab ich selbstverständlich importiert das is der MYSQL Treiber mysq-connector 5.0.8.
Ich poste mal meine DB:
-- phpMyAdmin SQL Dump
-- version 2.11.4
-- http://www.phpmyadmin.net
--
-- Host: localhost
-- Erstellungszeit: 08. März 2008 um 16:01
-- Server Version: 5.0.51
-- PHP-Version: 5.2.5
SET SQL_MODE="NO_AUTO_VALUE_ON_ZERO";
--
-- Datenbank: `dbbenutzer`
--
-- --------------------------------------------------------
--
-- Tabellenstruktur für Tabelle `benutzer`
--
CREATE TABLE IF NOT EXISTS `benutzer` (
`benutzernr` int(11) NOT NULL,
`pseudonym` varchar(10) NOT NULL,
`passwort` varchar(6) NOT NULL,
PRIMARY KEY (`benutzernr`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1;
--
-- Daten für Tabelle `benutzer`
--
INSERT INTO `benutzer` (`benutzernr`, `pseudonym`, `passwort`) VALUES
(1, 'tom', 'test'),
(2, 'uli', 'test'),
(3, 'klaus', 'test');
Hier kommt dann meine lesendb.jsp:
Code:
<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
pageEncoding="ISO-8859-1"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>JSP-Beispiel: Lesen einer Datenbank</title>
</head>
<body>
Inhalt der benutzer-Datenbank</p>
<table border="1" cellpadding="0" cellspacing="0">
<tr>
<td>Benutzer-Nr</td>
<td>Pseudonym</td>
<td>Passwort</td>
</tr>
<jsp:useBean id="eineDB" class="DB.DBZugriff" />
// Dann befindet sich das Ergebnis in ein Objekt der Klasse ResultSet
<% java.sql.ResultSet tabelleBenutzer = eineDB.leseDB(); %>
while (tabelleBenutzer.next())
{
String benutzernr = tabelleBenutzer.getString("BENUTZERNR");
String pseudonym = tabelleBenutzer.getString("PSEUDONYM");%>
<tr>
<td><%=benutzernr %></td>
<td><%=pseudonym %></td>
<td><%=tabelleBenutzer.getString("PASSWORT")%></td>
</tr>
<%catch} %>
</table>
</body>
</html>
Und zu guter letzt die JAVA-Klasse DBZugriff.java
Code:
package DB;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
import java.sql.Statement;
public class DBZugriff {
private java.sql.Connection dieVerbindung;
public DBZugriff() throws InstantiationException, IllegalAccessException, SQLException
{
try {
// Die Verbindung zur DB wird einmal am Anfang aufgebaut!
// Erzeugen und laden des Treibers
// Der Name des Treibers lautet:....................
Class.forName("com.mysql.jdbc.Driver").newInstance();
// Holen eines Connection Objekts
// die DB lautet dbbenutzer
dieVerbindung = java.sql.DriverManager.getConnection("jdbc:mysql://localhost/dbbenutzer","","");
}
catch(ClassNotFoundException e1)
{
System.out.println
("ClassNotFoundException:" + e1.getMessage());
}
}
// Lesende Operationen
public java.sql.ResultSet leseDB()
{
java.sql.Statement statement;
java.sql.ResultSet tabelle;
try
{
// Abfrage der DB
// hier Inhalt der gesamten Benutzertabelle
statement = dieVerbindung.createStatement();
// Ausführung der SQL Anweisung
tabelle = statement.executeQuery("SELECT * FROM BENUTZER ");
//Rückgabe des Ergebnisses vom Typ ResultSet
return tabelle;
}
catch(java.sql.SQLException e3)
{
}
return null;
}
}