tutorials.de Buch-Aktion 05/2012
ERLEDIGT
NEIN
ANTWORTEN
3
ZUGRIFFE
1766
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    chipmount chipmount ist offline Rookie
    Registriert seit
    Dec 2004
    Beiträge
    7
    Hi,
    möchte mal eine jsp mit Funktionen(jstl-> die auf eine datenbank zugreift und was ausführt) realisieren

    habe mir paar dokus, foren angeschaut aber nicht schlauer geworden

    ich habe Tomcat 5 laufen muss ich trotzdem jakarta-taglibs installieren(welche version) oder reichen die jstl.jar
    und standard.jar von Tomcat aus ?

    was sind ..tld? muss ich für meine DB-Anwendung eine eigene ...tld schreiben oder wie funktioniert das ganze


    danke
     

  2. #2
    Registriert seit
    Jun 2002
    Ort
    Saarbrücken (Saarland)
    Beiträge
    9.886
    Blog-Einträge
    29
    Hallo!

    Innerhalb der JSTL gibt es schon Tags die für die Interaktion mit Datenbanken ausgestattet sind.

    http://java.sun.com/webservices/docs...doc/JSTL8.html
    http://www-106.ibm.com/developerwork...ry/j-jstl0520/

    TLD Dateien sind die sogenannten Tag Library Deployment Descriptoren. In denen sind die Tags definiert (Name, dahinterstehende Klasse, zulässige Attribute etc).

    Ja das JSTL.jar reicht dazu aus (liegt im %TOMCAT_HOME%/COMMON/LIB Verzeichnis
    bzw. im WEB-INF/LIB Verzeichnis deiner Webapplikation.)

    Die passende(n) TLD(s) solltest du dann auch innerhalb deiner WEB-Application z.Bsp. unter WEB-INF/tlds verfügbar machen kann. In deinem Fall wäre das z.Bsp. die sql.tld

    In deiner JSP Seite bindest du die Tags dann wie folgt ein:
    Code :
    1
    
    <%@ taglib uri="/WEB-INF/tlds/sql.tld" prefix="sql"%>

    Dann sind die Tags etwa unter <sql:blablabla ..../>
    verfügbar.

    U.u. musst du um diese Tags zu verwenden zuvor noch eine Datasource im Container registrieren um z.Bsp. über das Tomcat interne JNDI (Namensdienst) darauf zuzugreifen.

    Von Designaspakten sollte man integration von Datenbank Code in JSP-Seiten strikt vermeiden. Normalerweise geht man dort den Weg das man die JSP's nur für die Darstellung der Seite und die eigentliche Anwendungslogik in Servlets und/oder sonstigen Technologien (Springframework, EJB) zu hinterlegen.

    Gruß Tom
     
    Java rocks!
    How to become a good Java Programmer?
    Does IT in Java and .Net
    The only valid measurement of code quality: WTFs / minute
    Blog
    Xing
    Twitter

  3. #3
    chipmount chipmount ist offline Rookie
    Registriert seit
    Dec 2004
    Beiträge
    7
    habe jezt dieses problem
    meine ..html
    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    
    <html>
    <head>
    <title>formulaire d´essaie </title>
    </head>
    <body>
    <h3>Geben Sie den Bestellersname ein :</h3>
    <FORM Method="GET" Action="sql.jsp">
     
    Name:     <INPUT TYPE="text" name=param ><BR>
     
          <INPUT type=submit value=Abfrage senden>
    </FORM>
    </body>
    </html>
    meine --jsp
    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    
     <%@ taglib uri="/WEB-INF/tld/taglibs-dbtags.tld" prefix="sql" %>
     
    <%-- open a database connection --%>
     
    <sql:connection id="conn1">
      <sql:userId>scott</sql:userId>
      <sql:password>tiger</sql:password>
      <sql:url>jdbc:oracle:thin:@..:1521:..</sql:url>
      <sql:driver>oracle.jdbc.driver.OracleDriver</sql:driver>
    </sql:connection>
     
    <%-- open a database query --%>
    <table>
    <sql:statement id="stmt1" conn="conn1"> 
      <sql:query>
        select bestnr, bestelldatum, bestsum from Bestellung WHERE name=?   
      </sql:query>
     
      <%-- loop through the rows of your query --%>
     
      <sql:resultSet id="rset2">
        <tr>
          <td><sql:getColumn position="1"/></td>
          <td><sql:getColumn position="2"/></td>
          <td><sql:getColumn position="3"/></td> 
          <sql:getColumn position="4"/><%=request.getParameter("param")%>   
    <sql:wasNull>[no description]</sql:wasNull></td>
     
        </tr>
      </sql:resultSet>
    </sql:statement>
    </table>
     
    <%-- close a database connection --%>
    <sql:closeConnection conn="conn1"/>

    meine FEHLERMELDUNG:
    javax.servlet.ServletException: java.sql.SQLException: ORA-01008: Nicht
    allen Variablen ist ein Wert zugeordnet

    org.apache.jasper.runtime.PageContextImpl.doHandlePageException(PageContextImpl.java:825)
    org.apache.jasper.runtime.PageContextImpl.handlePageException(PageContextImpl.java:758)
    org.apache.jsp.sql_jsp._jspService(sql_jsp.java:247)
    org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:94)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
    org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:324)
    org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:292)
    org.apache.jasper.servlet.JspServlet.service(JspServlet.java:236)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:802)

    ist die parameter übergabe falsch
    wie mach ich das richtig
     

  4. #4
    Registriert seit
    Mar 2001
    Ort
    München
    Beiträge
    4.785
    Code :
    1
    
    <sql:param value="${meinWertFuerGewuenschterName}" />
    Fehlt dir.

    Du hast ein PreparedStatement ( siehe ? im Query) welches mit einem Parameter
    initialisiert werden will.
     
    Erst wenn der letzte Programmierer eingesperrt...
    ...und die letzte Idee patentiert ist, werdet ihr merken, dass Anwälte nicht programmieren können.
    -------------------
    chris: hey Tom hast du eigentlich ne Freundin
    jdar: ich bin tutorials.de Mod!

Ähnliche Themen

  1. Antworten: 5
    Letzter Beitrag: 04.11.10, 21:17
  2. Probleme mit java.library.path
    Von eagle1985 im Forum Java
    Antworten: 3
    Letzter Beitrag: 08.02.10, 17:28
  3. Problem mit Java ID3 Tag Library
    Von Jens K im Forum Java Grundlagen
    Antworten: 0
    Letzter Beitrag: 12.04.09, 12:43
  4. EasyTomcat Java Library
    Von Nullquadrat im Forum Java
    Antworten: 5
    Letzter Beitrag: 18.10.08, 15:43
  5. Java Library für MP3 to MP4(AAC) konverter
    Von Moosehead im Forum Java
    Antworten: 3
    Letzter Beitrag: 22.03.08, 19:32