10. marts 2003 - 15:43Der er
31 kommentarer og 1 løsning
Eksempel på JSP og database.
Jeg har kraftigt brug for et eksempel på, hvordan man i et client/server-miljø får adgang til en database. Altså hvad der skal stå i clientsidens HTML-fil, og hvad der skal stå i serversidens JSP-fil, så clienten kan foretage forespørgsler (SQL f.eks.) på databasen ved serveren. Jeg vil selvfølgelig også gerne have noget forklarende tekst ;-)
Hvis der evt. findes nogle steder på nettet, hvor man kan downloade nogle eksempler på løsninger til denne problemstilling, så vil jeg også sætte umådelig stor pris på det.
I dette særtema ser vi på, hvordan cloud og AI bliver fundamentet for virksomhedernes digitale forretning, og hvordan de nye muligheder for automatisering og forretningsværdi kan udnyttes uden at miste overblik, sikkerhed og menneskelig kontrol.
Hvis du vælger løsning #1 (direkte JDBC), så kan du godt lave JDBC kald direkte i selve JSP siderne, men det anses for god stil at flytte selve JDBC kaldene over i separate Java klasser, som så kun kaldes fra dine JSP sider.
Den JDBC tutorial jeg linkede til ovenfor har udmærkede eksempler på hvordan man bruger JDBC.
En af pointerne med at separarere JDBC koden ud i separate klasser er at den ikke er afhængig af konteksten.
Du skriver dine database klasser. Du kan teste dem som en standalone java applikation. Og så kan du bruge dem i din JSP server applikation. Og virker de standalone så virker de også i en server applikation.
Okay; det vil jeg så lige se, om jeg kan få til at fungere...eller om jeg kan finde et eksempel på det online (da dette ville være MEGET gavnligt for min situation pt).
Men når jeg kører testen, så skrives der: " 1 2 java.sql.SQLException: [Microsoft][ODBC Driver Manager] Data source name not found and no default driver specified at sun.jdbc.odbc.JdbcOdbc.createSQLException(JdbcOdbc.java:6879) at sun.jdbc.odbc.JdbcOdbc.standardError(JdbcOdbc.java:7036) at sun.jdbc.odbc.JdbcOdbc.SQLDriverConnect(JdbcOdbc.java:3028) at sun.jdbc.odbc.JdbcOdbcConnection.initialize(JdbcOdbcConnection.java:323) at sun.jdbc.odbc.JdbcOdbcDriver.connect(JdbcOdbcDriver.java:174) at java.sql.DriverManager.getConnection(DriverManager.java:512) at java.sql.DriverManager.getConnection(DriverManager.java:171) at dbHandler.open(dbHandler.java:14) at dbHandlerTest.dbHandlerTest(dbHandlerTest.java:8) at dbHandlerTest.main(dbHandlerTest.java:3) "
Hvad gør jeg forkert? Databasen hedder "OCSDB.mdb" og ligger i c:\HelloJavaServerSide". Kan det være stien til databasen, som ikke er rigtig angivet?
D.v.s. at du skal ind i: control panel administration ODBC og definere navnet OCSDB til at pege på C:\HelloeJavaServerSide\OCSDB.mdb med en Access ODBC driver.
Ja, altså når jeg er inde i "ODBC", så vælger jeg fanen "System DSN", "add", "Microsoft Access Driver (*.mdb). Data Source Name:"OCSDB", I rammen "Database" finder jeg stien til databasen. Dette hjælper ikke rigtig...?
men, altså, det er jo bare ganske alm. java-filer, som burde kunne køre ganske uden problemer...så mon ikke det er en systemindstilling et-eller-andet sted?
...men det var jo kun databaseadgangen, som virker nu. Nu kommer det virkelige problem så: hvordan laver man en clientside, som gennem HTML får adgang til en JSP-baseret server, som svarer med output fra en database?
Du laver en JSP side som har en HTML form med diverse input felter. Du har så en POST action som kalder en anden JSP eller en servlet.
Den anden: åbner databasen udfører UPDATE/INSERT/DELETE statement baseret på form input lukker skriver et eller andet passende til brugeren a la "Opdatering OK"
:-) jo tak, jeg vil da gerne have så meget hjælp som muligt.
Jeg havde nu mere tænkt mig, at jeg inde fra JSP-siden kaldte en java-classe på serversiden, som herefter udfører de ønskede handlinger inde fra JSP-siden (som jo bliver bestemt af clienten). Er det muligt?
Er det muligt, at JSP-siden får noget input vha. en FORM, sender requesten ned til nogle javaClasser, får resultattet tilbage og så viser outputtet i nogle andre tabeldatafelter i den oprindelige JSP-side?
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.