ERLEDIGT
NEIN
NEIN
ANTWORTEN
3
3
ZUGRIFFE
1766
1766
EMPFEHLEN
-
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
-
27.12.04 22:25 #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ß TomJava 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
-
habe jezt dieses problem
meine ..html
meine --jspCode :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>
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
-
06.01.05 23:26 #4
- Registriert seit
- Mar 2001
- Ort
- München
- Beiträge
- 4.785
Fehlt dir.Code :1
<sql:param value="${meinWertFuerGewuenschterName}" />
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
-
Eine DLL Datei in java.library.path einbinden
Von Steven19 im Forum JavaAntworten: 5Letzter Beitrag: 04.11.10, 21:17 -
Probleme mit java.library.path
Von eagle1985 im Forum JavaAntworten: 3Letzter Beitrag: 08.02.10, 17:28 -
Problem mit Java ID3 Tag Library
Von Jens K im Forum Java GrundlagenAntworten: 0Letzter Beitrag: 12.04.09, 12:43 -
EasyTomcat Java Library
Von Nullquadrat im Forum JavaAntworten: 5Letzter Beitrag: 18.10.08, 15:43 -
Java Library für MP3 to MP4(AAC) konverter
Von Moosehead im Forum JavaAntworten: 3Letzter Beitrag: 22.03.08, 19:32





Zitieren

Login





