# JSP mit JavaBeans auf Oracle zugreifen



## KalleWirsch (7. Dez 2006)

Hallo zusammen  !!!!


ich versuche die ganze Zeit schon über eine JSP Site mit JavaBeans im Hintergrund auf eine Oracledatenbank mit SQL zuzugreifen. wenn ich den Tomcat dann aber gestartet habe und die Seite aufrufen will. Schmeißt mir der Browser die Standartfehlermeldung,dass die gewünschte Seite zur Zeit nicht angezeigt werden kann ...
Der Zugriff auf die Datenbank funktuioniert einwandfrei. Das habe ich schon mit einer 'normalen' Java Datei versucht.
Wenn ich aus der JavaBenas die SQL Zugriffe weglasse und zB nur ein Strng zurückliefere bekomme ich die Seite auch einwandfrei angezeigt.

Hat vielleicht jemand eine Ahnung woran das liegen könnte??
ich benutze Eclipse3.2 ... im folgenden poste ich mal noch meinen Code.


```
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<%@ taglib uri="/WEB-INF/struts-bean.tld" prefix="bean" %>
<%@ taglib uri="/WEB-INF/struts-html.tld" prefix="html" %>

<html:html locale="true">
<head>
<title><bean:message key="dbNdTreeJsp.title"/></title>
<html:base/>
</head>
<body bgcolor="white">

<html:errors/>

<html>
<jsp:useBean id="db" class="tools.DB" scope="session"/>

[b]Artikel[/b]

<%
  try {
    db.connect();
    db.query("select * from ordner");
    out.println("<table>");
    while (db.next()) {
      out.println("<tr>"
        + "<td>" + db.get("id") 
        + "<td>" + db.get("bezeichnung")
      );
    }
    out.println("</table>");
  } catch (Exception e) {
    out.println(e);
  }
%>
</html>
</body>
</html:html>
```


```
package tools;

//package tools;
import java.sql.*;
import java.util.*;
import javax.servlet.*;

public class DB {
  ResultSet rset = null;
  Connection conn = null;
    
  public void connect() throws Exception 
  {
	  Class.forName ("oracle.jdbc.driver.OracleDriver");
	  conn = DriverManager.getConnection("xxxxxxxx", "xxxxxxxxxx", "xxxxxx");
  }

   public ResultSet query(String sql) throws Exception {
    return rset = conn.createStatement().executeQuery(sql);
  }

  public boolean next() throws Exception {
    return rset.next();
  }
  
  public String get(String s) throws Exception {
    return rset.getString(s);
  }
```

viele Grüße
Kalle!!! :lol:


----------



## SlaterB (7. Dez 2006)

tja, wenn du das auskommentierst, dann geht es?
versuch noch mal 
} catch (Throwable e) { 
statt
} catch (Exception e) { 
falls irgendein ganz böser Error/ RuntimeException kommt


----------



## KalleWirsch (7. Dez 2006)

wenn ich was auskommentiere geht es??
oder hast du damit gemeint, dass ich geschrieben habe, das es funktioniert wenn ich die SQL Klausueln weglasse??

also mit SQL bekomme ich diese Fehlermedlung wenn ich die Seite lade:








zum Test habe ich mal einfach die SQL Statements weggelassen und einfach nur einen String übergeben dann hat es funktioniert

*.java

```
package org.apache.struts.webapp.first;


import java.sql.*;
import java.util.*;
import javax.servlet.*;

public class DB {
  ResultSet rset = null;
  Connection conn = null;
  
  
  public String connect() throws Exception 
  {
	  return("Test");
  }
}
```

*.jsp

```
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<%@ taglib uri="/WEB-INF/struts-bean.tld" prefix="bean" %>
<%@ taglib uri="/WEB-INF/struts-html.tld" prefix="html" %>

<html:html locale="true">
<head>
<title><bean:message key="dbNdTreeJsp.title"/></title>
<html:base/>
</head>
<body bgcolor="white">

<html:errors/>

<html>
<jsp:useBean id="db" class=" org.apache.struts.webapp.first.DB" scope="session"/>

[b]Artikel[/b]

<%
out.print(db.connect())
%>


</html>

</body>
</html:html>
```


----------



## KalleWirsch (8. Dez 2006)

diese Fehlermeldung spuckt mir Eclipse aus:


> #
> # An unexpected error has been detected by HotSpot Virtual Machine:
> #
> #  EXCEPTION_ACCESS_VIOLATION (0xc0000005) at pc=0x6d74df32, pid=632, tid=1928
> ...






vielleicht begehe ich ja einen Grundsätzlichen Fehler!!
Kann mir vielleicht jemand sagen, wie ich es anstelle, wie ich über einer 'normalen' JSP Seite eine Datenbankverbindung zu einem OracleServer herstelle?? muss ich dem Tomcat über den JSP läuft noch irgendetwas mitgeben??

mfG


----------

