Kann ich JSP so schreiben ?

Bitte aktiviere JavaScript!
M

McCoy

Hoi,
muss für die UNI ein kleines JSP+MySQL Projekt schreiben. Habe jetzt 2 Tage zuerst lokal dann auf dem uni-server vergeblich versucht auf unterschiedliche wege eine einfache DB abfrage hinzubekommen - bin jetzt bei der einfachen JSP-File angekommen um Fehlerquellen so minimal wie möglich zu halten.

Ich würde mich sehr sehr sehr freuen wenn du diese JSP-Datei korrektur lesen könntest und mir schreibst warum die DB nicht erzeugt wird/ keine Datenabgefragt statt findet.

Eine Fehlermeldung bekomme ich nicht !

(die DB kann ich nur über code erstellen...)
Code:
<%@ page language="java" %>  
<%@ page import="java.sql.*" %>
<%@ page import="java.util.*" %>


<html>
<head>
<title>Show All</title>
</head>
	<body>
	<h1>Hier sollte etwas ausgegeben werden! (warum passiert das nicht ?????????)</h1>
	<%
		String DRIVER = "org.gjt.mm.mysql.Driver";
		Class.forName(DRIVER).newInstance();

		Connection con	= null;
		ResultSet rst	= null;
		Statement stmt	= null;

		try{
			
			String url="jdbc:mysql://lokalhost:3306/xxx?user=xxx&password=xxxx";
			
			con = DriverManager.getConnection(url);
			stmt = con.createStatement();
			
			stmt.executeUpdate("drop table if exists games");
			stmt.executeUpdate("create table games (titel varchar(25) not null, publisher varchar(25) not null;");
			stmt.executeUpdate("insert into games values ('WarCraft III', 'Blizzard');");
			
			rst = stmt.executeQuery("select * from games ");
			while(rst.next()){
			%>				
				<%=rst.getString(1)%>
				<%=rst.getString(2)%>				
			<%
			}
			
			rst.close();
			stmt.close();
			con.close();
		}
		
		catch(Exception e){
			System.out.println(e.getMessage());
		}
	%>

  </body>
</html>
(der code ist diesem tutorial angelent)
Danke für deine Mühe. Ich bin fertig und geh jetzt erstmal schlafen.
 
M

McCoy

Am Treiber kann's nicht liegen. Der mySQL-server hat auch ne ältere version 4.x.
Wenn ich den Code als Servlet mit dem selben Treiber umschreibe funktioniert es.

Denke es muss an der DB auf dem Server liegen. Wenn der Code so wie er da steht keine fehler erzeugt und richtig zu seit scheint ?!
 
Code:
catch(Exception e){
			System.out.println(e.getMessage());
		}
das landet im log des servers...

versuch mal
Code:
catch(Exception e){
			out.println(e.getMessage());
e.printStackTrace();
		}
und schau zusätzlich ins log verzeichnis deines servers, ob du da was interessantes findest...
 
String url="jdbc:mysql://lokalhost:3306/xxx?user=xxx&password=xxxx";


hoffe lokalhost ist nur hier ein Tippfehler.
 
M

McCoy

@ mvitz: Danke das sollte ein localhost sein !

@ ARadauer: wo finde ich den server log ?

Ich habe es übrigens zum laufen gebracht. Hier der funktionierende Code:

Code:
<%!
		Connection connection = null;
		ResultSet resultSet = null;
		Statement statement = null;
		%>
	
	<%
		try{			
				Class.forName("org.gjt.mm.mysql.Driver");

				connection = DriverManager.getConnection("jdbc:mysql://localhost:3306/xx","xx","xxxx");
				statement = connection.createStatement();
				
				statement.executeUpdate("drop table if exists games;");
				statement.executeUpdate("create table games (titel char(25), publisher varchar(25));");
				statement.executeUpdate("insert into games values ('WarCraft III', 'Blizzard');");

				resultSet = statement.executeQuery("select * from games;");
				while(resultSet.next()){
				%>				
					<p>Titel:>		<%=resultSet.getString(1)%>	</p>
					<p>Publisher:>	<%=resultSet.getString(2)%>	</p>
				<%
				}
			

		}
		
		catch(Exception e){
			out.println(e.getMessage());
			e.printStackTrace();
		}

		
	%>
 
<% %>diese dinge sind da um java code ausgrenzen
@ mvitz: Danke das sollte ein localhost sein !



Ich habe es übrigens zum laufen gebracht. Hier der funktionierende Code:

Code:
<%!
        Connection connection = null;
        ResultSet resultSet = null;
        Statement statement = null;
        %>
   ! hier zwischen gibs nichts wofür zu und gleich auf?
    <%
 
Code:
<%
        Connection connection = null;
        ResultSet resultSet = null;
        Statement statement = null;
    
   
  
        try{           
                Class.forName("org.gjt.mm.mysql.Driver");

                connection = DriverManager.getConnection("jdbc:mysql://localhost:3306/xx","xx","xxxx");
                statement = connection.createStatement();
               
                statement.executeUpdate("drop table if exists games;");
                statement.executeUpdate("create table games (titel char(25), publisher varchar(25));");
                statement.executeUpdate("insert into games values ('WarCraft III', 'Blizzard');");

                resultSet = statement.executeQuery("select * from games;");
                while(resultSet.next()){
                %>               
                    <p>Titel:>        <%=resultSet.getString(1)%>    </p>
                    <p>Publisher:>    <%=resultSet.getString(2)%>    </p>
                <%
                }
           

        }
       
        catch(Exception e){
            out.println(e.getMessage());
            e.printStackTrace();
        }

       
    %>
[/QUOTE]
Sollte reichen,aber noch besser komplett aus jsp raus und dan nur java methode aufrufen welche die Strings returnt zum zeigen auf jsp
 
Passende Stellenanzeigen aus deiner Region:

Neue Themen

Oben