ich habe folgendes Problem.
In meiner Ausbildung, habe ich Java gelernt. Dort habe ich viel mit JSP´s gearbeitet.
Da ich mich jetzt privat wieder einarbeiten möchte, wollte ich heute einmal ein einfaches Formular schreiben, was z.B einen Namen in eine MySQL Datenbank schreibt.
Dann bin ich über JSF gestolpert (Internet sagt, dies sei besser). Das Formular an sich stellt gar kein Problem dar, aber ich bekomme es partout nicht gebacken die Daten dann auch in die Datenbank zu übertragen. Hat da jemand evtl. einen Denkanstoß für mich?
Ich arbeite mich schon etwas länger wieder ein, also bitte keine Kommentare wie: "Versuch´s erstmal mit ewtas leichterem".
Desweiteren "verlange" ich auch gar nicht nach einem kompletten Code, sondern lediglich nach einem Denkanstoß oder ein paar hilfreichen Links. Codeschnipsel gehen natürlich auch
<?xml version='1.0' encoding='UTF-8' ?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><htmlxmlns="http://www.w3.org/1999/xhtml"xmlns:h="http://xmlns.jcp.org/jsf/html"><h:head><title>Verkauf</title></h:head><h:body><!-- Einfaches HTML Formular --><h:form><h:outputLabelfor="rgn">Rechnungsnummer:</h:outputLabel><br/><h:inputTextvalue="#{bean.rgn}"required="true"/><h:commandButtonvalue="Senden"action="#{bean.submit}"/><h:messages/><h:outputTextvalue="#{bean.result}"/></h:form></h:body></html>
Bean.java
Java:
packagecom.example;importjava.sql.Connection;importjava.sql.DriverManager;importjava.sql.PreparedStatement;importjavax.faces.bean.ManagedBean;importjavax.faces.bean.RequestScoped;@ManagedBean@RequestScopedpublicclassBean{PreparedStatement ps =null;Connection con =null;int i=0;privateLong id;privateString rgn;privateString result;publicvoidsubmit(){
result ="Eingegeben: "+ rgn;System.out.println(result);}publicStringgetrgn(){return rgn;}publicvoidsetrgn(String text){this.rgn = text;}publicStringgetResult(){return result;}publicvoidadd(){try{Class.forName("com.mysql.jdbc.Driver");
con =DriverManager.getConnection("jdbc:mysql://localhost:3306/verkauf","root","");String sql ="INSERT INTO lager(id, rgn) VALUES(?,?)";
ps = con.prepareStatement(sql);
ps.setLong(1, id);
ps.setString(2, rgn);
i = ps.executeUpdate();System.out.println("Daten erfolgreich hinzugefügt");}catch(Exception ex){System.out.println(ex);// Error Handling}finally{try{
con.close();
ps.close();}catch(Exception ex){
ex.printStackTrace();}}}}