Wert an JSP übergeben

Status
Nicht offen für weitere Antworten.

boyscout

Mitglied
Morgen Leute.

habe zur zeit die Aufgabe nen Webshop zu erstellen mit Eclipse 3.0, Tomcat 5.0 und MySql.
In dem Shop hat man die Möglichkeit klingeltöne zu bestellen (Anmerkung: ist nur nen Übungsaufgabe).

So und es geht so weit auch, aber wenn ich jetzt auf Kaufen bei dem jeweiligen Tone klicke weis ich nicht wie er es schaffen soll die Daten nur von diesem Ton aus der datenbank zu lesen um sie in eine neu DB zu schreiben...

hier mal der code von der kaufen seite:

Code:
<!DOCTYPE HTML PUBLIC "-//SoftQuad Software//DTD HoTMetaL PRO 6.0::19990601::extensions to HTML 4.0//EN" "hmpro6.dtd">
<HTML> 
  <HEAD> 
	 <TITLE>Rock</TITLE> 
  </HEAD> 
  <BODY>
   <CENTER>
      <FONT COLOR="red" SIZE="6">
        Rock
      </FONT>
   </CENTER>
   


   <%@ page import="java.sql.*" %>
   <TABLE WIDTH="100%" BORDER="2" BGCOLOR="silver">
      <TR><TH WIDTH="17%">ArtikelNr</TH>
          <TH WIDTH="20%">Titel</TH>
          <TH WIDTH="20%">Preis</TH>
          <TH WIDTH="20%">Genre</TH>
          <TH WIDTH="20%">Art</TH>
          <TH WIDTH="3%"></TH>
      </TR>
      <%
        try
        {
           Class.forName("com.mysql.jdbc.Driver");
           Connection conn=DriverManager.getConnection
              ("jdbc:mysql://localhost/test","root","");
           Statement statement=conn.createStatement();
           
           String sql = "select * from klingeltone where genre='Rock'";
           ResultSet rs = statement.executeQuery(sql);
           
           while (rs.next())
           {
               %>
              <TR><TD><%= rs.getString("artnr") %></TD>
                  <TD><%= rs.getString("titel") %></TD>
                  <TD><%= rs.getString("preis") %></TD>
                  <TD><%= rs.getString("genre") %></TD>
                  <TD><%= rs.getString("art") %></TD>
                  <TD>[url="kauf.jsp"][img]gfx/images.jpg[/img][/url]</TD>
              </TR>
              <%
           }
           %>
           </TABLE>
           <%
              if (statement != null)
                 statement.close();
              if (conn != null)
                 conn.close();
        }
        catch (Exception e) { out.print(e);}
        %>    
  </BODY>
</HTML>
beim öffnen dieser seite werden alle klingeltöne angezeigt die rock als genre haben...wenn man jetzt neben dem lied auf den button "kaufen" klickt soll der wert von dem lied in die DB bestellung eingetragen werden...durch die "kauf.jsp"

hier der code:

Code:
<!DOCTYPE HTML PUBLIC "-//SoftQuad Software//DTD HoTMetaL PRO 6.0::19990601::extensions to HTML 4.0//EN" "hmpro6.dtd">
<HTML> 
  <HEAD> 
	 <TITLE>Kaufen</TITLE> 
  </HEAD> 
  <BODY>
   <%@ page import="java.sql.*" %>
   <%
   
      try
      {
           Class.forName("com.mysql.jdbc.Driver");
           Connection conn=DriverManager.getConnection
              ("jdbc:mysql://localhost/test","root","");
           Statement stmt=conn.createStatement();
           
           String artnr="select artnr from klingeltone";
           String titel="select titel from klingeltone";
           String preis="select preis from klingeltone";

           ResultSet rs1=stmt.executeQuery(artnr);
              artnr=rs1.getString("artnr");      
           out.println(artnr);
         
           ResultSet rs2=stmt.executeQuery(titel);
              titel=rs2.getString("titel");
           out.println(titel);
           
           ResultSet rs3=stmt.executeQuery(preis);
              preis=rs3.getString("preis");
           out.println(preis);
           
              String newInsert="insert into bestellung values ('1', 'ka', '01741234567', '" +artnr+ "', '" +titel+ "', '" +preis+ "')";
              stmt.executeUpdate(newInsert);        
      }
      catch(ClassNotFoundException err)
      {
           out.println("DB-Driver nicht gefunden!");
           out.println(err);
      }
      catch(SQLException err)
      {
           out.println("Connect nicht möglich!");
           out.println(err);
      }
   %> 
  </BODY>
</HTML>

ich sitze jetzt an dem problem schon 2 tage und mir fällt keine kösung ein...wäre cool wenn ihr mir helfen könntet



thx der boy
 
B

bygones

Gast
@Mods: würde ich zu EE Bereich verschieben...

ist dein Problem nur einen Parameter zu übergeben ??
den musst du dann in deinem link einbauen...
z.b.
Code:
[url="kauf.jsp?artikel=Rock1"]Link[/url]
auf der kauf.jsp holst du dir den Wert über request.getParameter("artikel") (wenn ich mich net irr)
 

boyscout

Mitglied
also du meinst beim link dann so:

<a href="kauf.jsp?artNr=artnr">link.....

und für den aufruf in kauf.jsp:

String Artnr=request.getParameter("artNr");


und um zu suchen nach wert:
String artnr="select artnr from klingeltone where artnr=Artnr";

funzt irgend wie och net :( ich verzweifle noch........
 

Bleiglanz

Gesperrter Benutzer
String artnr_select ="select artnr from klingeltone where artnr=?";
PreparedStatement holen und dann (richtigen Typ verwenden)
ps.setInt(1,ArtNr) oder ps.setString(1,ArtNr)
 

Bleiglanz

Gesperrter Benutzer
Lies die API zu JDBC!

jemant tippt eine Artikelnummer in eine Textbox mit name="artNr" auf und drückt auf submit

dann im Servlet:

String Artnr=request.getParameter("artNr"); // sagen wir der passt
String sql="select artnr from klingeltone where artnr=?"; // query
PreparedStatement ps =conn.prepareStatement(sql);// lernen
ps.setString(1,Artnr); // den Platzhalter ? besetzen
ResultSet rs = ps.executeQuery(); // ausführen
// kennst du dich jetzt wieder aus
 

boyscout

Mitglied
das problem ist ich arbeite nicht mit einer eingabe.....die tabelle wird mit hilfe von swl ausgelesen und der nutzer muss bei dem gewünschten lied auf das kaufen button klicken.....

da muss keine eingabe machen.....

aber trotzdem thx :)
 

Bleiglanz

Gesperrter Benutzer
Code:
                  <TD><%= rs.getString("art") %></TD>
                  <TD><a href="kauf.jsp?artNr=""<%= rs.getString("artnr") %>">
du bist noch neu im Geschäft, oder?
 

boyscout

Mitglied
ja bin neu :D

also er schreibt jetzt schon was in die DB rein aber nicht ganz das richtige....

hier mal der code für kauf.jsp:

Code:
<BODY>
   <%@ page import="java.sql.*" %>
   <%
   String Artnr=request.getParameter("artNr");
      try
      {
           Class.forName("com.mysql.jdbc.Driver");
           Connection conn=DriverManager.getConnection
              ("jdbc:mysql://localhost/test","root","");
           Statement stmt=conn.createStatement();
           
           String artnr="select artnr from klingeltone where artnr=Artnr";
           String titel="select titel from klingeltone where artnr=Artnr";
           String preis="select preis from klingeltone where artnr=Artnr";

           ResultSet rs1=stmt.executeQuery(artnr);
              rs1.last();
              artnr=rs1.getString("artnr");    
           out.println(artnr);
         
           ResultSet rs2=stmt.executeQuery(titel);
              rs2.last(); 
              titel=rs2.getString("titel");    
           out.println(titel);
           
           ResultSet rs3=stmt.executeQuery(preis);
              rs3.last(); 
              preis=rs3.getString("preis");    
           out.println(preis);
           
              String newInsert="insert into bestellung values ('1', 'ka', '01741234567', '" +rs1+ "', '" +rs2+ "', '" +rs3+ "')";
              stmt.executeUpdate(newInsert);        
      }

und hier der code von für die übergabe:

Code:
           while (rs.next())
           {
               %>
              <TR><TD><%= rs.getString("artnr") %></TD>
                  <TD><%= rs.getString("titel") %></TD>
                  <TD><%= rs.getString("preis") %></TD>
                  <TD><%= rs.getString("genre") %></TD>
                  <TD><%= rs.getString("art") %></TD>
                  <TD>[url="kauf.jsp?artNr="]">[img]gfx/images.jpg[/img][/url]</TD>
              </TR>
              <%
           }
 

Bleiglanz

Gesperrter Benutzer
Code:
           String artnr="select artnr from klingeltone where artnr=Artnr";
           String titel="select titel from klingeltone where artnr=Artnr";
           String preis="select preis from klingeltone where artnr=Artnr";
Das ist Käse. Entweder du lernst schnell, was ein preparedStatement ist (s. oben) oder du schreibst
Code:
           String artnr="select artnr from klingeltone where artnr="+request.getParameter("ArtNr")
Problem: SQL-Injection - ist ArtNr ein String oder ein int?

Frage: was soll das mit dem rs.last()?

gibts da nicht eine kombinierte INSERT/SELECT: sowas wie
Code:
INSERT INTO bestellung SELECT '1', 'ka', '01741234567',<dynamischer teil> FROM xyz
 

boyscout

Mitglied
@bleiglanz danke für deine hilfe habe es jetzt hinbekommen :D naja brauche ebend nen bissel länger als andere leute 8)
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
M Wert aus Servlet an normale Klasse übergeben Allgemeines EE 2
D Wert aus einem Future raus bekommen Allgemeines EE 11
J Konvertierungs-Fehler: Wert ''{0}'' für Modell ''{1}'' Allgemeines EE 10
S Struts: Wert in einem iterierten Drop-Down Menü selektieren Allgemeines EE 7
E Servlet: Wert aus eingabefeld auslesen funkioniert nicht Allgemeines EE 4
N JAAS login() mehrere Parameter an LoginModul übergeben Allgemeines EE 2
H SQL Daten von Webservice an Client übergeben Allgemeines EE 3
S JSP Parameter mit Formular übergeben Allgemeines EE 2
S Session in eine andere Anwendung übergeben Allgemeines EE 2
G Objekt von jsp an set Methode von Bean übergeben! Allgemeines EE 2
C HTTP Link übergeben Allgemeines EE 2
G Objekt an Servlet übergeben - oder Objekt global definieren? Allgemeines EE 4
boxi JSF Parameter für die nächste seite übergeben Allgemeines EE 2
Y Java Collection an JavaScript übergeben Allgemeines EE 4
N Liste mit Checkboxen an Servlet übergeben? Allgemeines EE 3
J Servlet Parameter aus web.xml übergeben, wie zugreifen? Allgemeines EE 2
S JSF datatable mit buttons Werte übergeben Allgemeines EE 5
P Value an JSTL mit EL übergeben. Allgemeines EE 2
M Parameter an Applet übergeben Allgemeines EE 5
T Objekte an Taglib übergeben Allgemeines EE 7
flashfactor EJB: Wie kann ich ein nicht Serializiertes Object übergeben Allgemeines EE 5
P Umlaute werden falsch übergeben Allgemeines EE 4
P StreamResult an JSP übergeben Allgemeines EE 2
clemson [Struts] Einer Action Parameter übergeben Allgemeines EE 2
P Session Attribute an Klasse übergeben Allgemeines EE 13
G HTML Code an JSP übergeben Allgemeines EE 7
G WEBDAV Resource übergeben Allgemeines EE 12
P String-Array an session Variable übergeben Allgemeines EE 3

Ähnliche Java Themen


Oben