Καλησπέρα παιδιά,
Προσπαθώ να μάθω Java για την πτυχιακή και πρέπει να φτιάξω ένα πρόγραμμα που να συνδέεται σε μία βάση. Ο τελικός στόχος είναι ένα πρόγραμμα android που μέσω ενός servlet να επικοινωνεί με μία βάση και να γίνεται η μεταφορά δεδομένων που θα χρειαστεί.
Ξεκίνησα προσωρινά να ασχολούμαι με καθαρή java. Έψαξα στο google και βρήκα τον εξής κώδικα:
Καταλαβαίνω τον κώδικα εκτός από την εξής γραμμή-->Class.forName(driver).newInstance();Κώδικας:package databaseconnect; import java.sql.*; /** * * @author Gus */ public class DatabaseConnect{ public static void main(String[] args) throws ClassNotFoundException, InstantiationException, IllegalAccessException, SQLException { System.out.println("MySQL Connect Example."); Connection conn = null; String url = "jdbc:mysql://ip:port/"; String dbName = "test"; String driver = "com.mysql.jdbc.Driver"; String userName = "username"; String password = "password"; Class.forName(driver).newInstance(); conn = DriverManager.getConnection(url+dbName,userName,password); System.out.println("Connected to the database"); conn.close(); System.out.println("Disconnected from database"); } }
Μπορεί κάποιος να μου εξηγήσει τι κάνει;
Δεν καταφέρνω να συνδεθώ βέβαια με τον server και μάλλον φταίει ότι δεν έχω ανοίξει κατάλληλη πόρτα για την mysql
Αυτό που θα ήθελα να σας ρωτήσω είναι με τι θα πρέπει να ασχοληθώ τώρα! Να ξεκινήσω android programming; Να ασχοληθώ πρώτα με java; Να διαβάσω παράλληλα για jsp και servlets;
Εμφάνιση 1-14 από 14
-
18-04-12, 13:05 Java και σύνδεση σε server database #1Lenovo ThinkPad T470- Huawei P20 Pro
-
18-04-12, 17:34 Απάντηση: Java και σύνδεση σε server database #2
Αν δεν κάνω λάθος, φορτώνει και φτιάχνει ένα νέο instance της κλάσης που χρησιμοποιείς αμέσως από κάτω (DriverManager), για τον driver/connector της SQL.
Αυτό που θα ήθελα να σας ρωτήσω είναι με τι θα πρέπει να ασχοληθώ τώρα! Να ξεκινήσω android programming; Να ασχοληθώ πρώτα με java; Να διαβάσω παράλληλα για jsp και servlets;
-
20-04-12, 14:54 Απάντηση: Java και σύνδεση σε server database #3
Καλησπέρα,
Το Class.forName(driver).newInstance() είναι πλέον απαρχαιωμένο, αν κατεβάσεις τον τελευταίο MySQL JDBC Connector. Παλιά φόρτωνε την κλάση του driver και την καταχωρούσε για να χειρίζεται URLs τύπου jdbc:mysql://. Τώρα αυτή η δουλειά γίνεται με το αρχειάκι java.jdbc.Driver στο META-INF/services του JAR.
Επειδή οι εφαρμογές web συνδυάζουν πολλές τεχνολογίες, αν δεν έχεις μια αρκετά καλή ιδέα της βασικής γλώσσας (εδώ Java) θα τα βρείς σκούρα.
Για επικοινωνία client-server και αν έχεις σύγχρονο application server (πχ JBoss >= 6) ή servlet container (πχ Tomcat 7), δοκίμασε με REST και την προδιαγραφή JAX-RS (είναι μέρος της Java Enterprize Edition, standard δηλαδή). Αν δείς ότι μπερδεύεσαι όμως, άστο.
Γενικά μη βάλεις να μάθεις πολλά πράγματα ταυτόχρονα.
Καλή επιτχία!
-
20-04-12, 15:47 Απάντηση: Java και σύνδεση σε server database #4
Αν και δεν βοηθάω με αυτό που θα πώ. Εγώ θα προσπαθούσα να αποφύγω να γράψω java στον server εκτός και αν είχα προηγούμενη εμπειρία.
Αν έχεις την δυνατότητα να χρησιμοποιήσεις C# ή κάτι άλλο που ξέρεις καλύτερα θα σου πρότεινα να το κάνεις γιατί είναι πολύ πιθανό να φύγεις εκτός προθεσμίας.
-
20-04-12, 16:20 Απάντηση: Java και σύνδεση σε server database #5
Οκ. δεκτό ότι είναι απαρχαιωμένο! Δεν γνώριζα, googlαρα και βρήκα αυτό. Δυστυχώς πρέπει να είναι web εφαρμογή! Θα πρέπει η android εφαρμογή να μπορεί να δέχεται δεδομένα από το nfc του κινητού και να τα στέλνει στον server.
Java δεν γνωρίζω καλή αλλά διαβάζω και προσπαθώ να μάθω! δυστυχώς android και java πάνε μαζί.
Ο server μου τρέχει Cent-os 6.2 και μπορώ να του βάλω ότι έχει διαθέσιμο το επίσημο repo εκτός αν προσθέσω κάποιο τρίτο ή κάνω εγκατάσταση manually. Με βλέπω για jBoss! τι λες; ή προτείνεις tomcat; (δεν έχω καμιά άποψη γτ δεν γνωρίζω)
Έχω ψιλοχάσει την μπάλα είναι η αλήθεια
Δυστυχώς δεν έχω προηγούμενη εμπειρία σε java! Δεν ξέρω καθόλου c#. έχω ασχοληθεί κυρίως με c από γλώσσες προγραμματισμού. Κυρίως ασχολούμαι με Linux, δλδ άσχετα πράγματαΤελευταία επεξεργασία από το μέλος Gus : 20-04-12 στις 16:25.
Lenovo ThinkPad T470- Huawei P20 Pro
-
20-04-12, 16:23 Απάντηση: Java και σύνδεση σε server database #6
Τί δεδομένα ανταλλάζεις με τον server και πως θες να τα χειρίζεται/χειρίζεσαι στο android;
Παίζει και DB στην πλευρά του server;
-
20-04-12, 16:29 Απάντηση: Java και σύνδεση σε server database #7
δεν ξέρω σίγουρα τι δεδομένα(δεν έχει φτάσει η παραγγελία με τον nfc reader ακόμη)! θα είναι δεδομένα που θα λαμβάνονται από ένα reader nfc Πάνω σε ένα λαπτοπ (κατά πάσα πιθανότητα) και από το laptop θα στέλνονται σε μία εφαρμογή πάνω στον server που θα επικοινωνεί με την mysql.
Η εφαρμογή του android θα κάνει προβολή μόνο των περιεχόμενων της βάσης δεδομένων
Ναι υπάρχει εγκατεστημένη βάση στον server που διαχειρίζομαι εγώ ο ίδιος, οπότε μπορούμε να κάνουμε ότι αλλαγές θέλουμεLenovo ThinkPad T470- Huawei P20 Pro
-
20-04-12, 16:31 Απάντηση: Java και σύνδεση σε server database #8
Ok, δεν ακούγεται και τόσο τραγικό, χαλάρωσε
Και με php μπορείς να παίξεις στον server.
Ρίξ'της μια ματιά.
-
20-04-12, 16:35 Απάντηση: Java και σύνδεση σε server database #9Lenovo ThinkPad T470- Huawei P20 Pro
-
20-04-12, 16:39 Απάντηση: Java και σύνδεση σε server database #10
-
20-04-12, 16:48 Απάντηση: Java και σύνδεση σε server database #11
Το πρόβλημα είναι ότι δεν ξέρω τι χρειάζομαι για κάθε κομμάτι!
Το θέμα της βάσης το λύσαμε με την Mysql.
Το πως θα γίνονται οι εγγραφές από τον client με κουμπωμένο του πάνω το nfc reader σε αυτή αποφάσισα να γίνει μέσω servlet! δεν έχω ιδέα από servlet αλλά μου είπαν ότι είναι μία καλή λύση! τώρα στο servlet να υποθέσω ότι για να επικοινωνήσει με την db θα χρησιμοποιήσω jdbc.
Το διάβασμα της βάσης από την android εφαρμογή θα γίνει λογικά με json (κάπου διάβασα ότι έτσι επικοινωνούν αυτού του είδους οι εφαρμογές με βάσεις. δεν ξέρω αν υπάρχει η json και για java EE)
Υπάρχουν κομμάτια που δεν έχω καταλάβει; αν ναι κάθε βοήθεια θα ήταν πολύτιμη
Υ.Γ Ξεκίνησα με eclipse λόγω android sdk! αλλά κατέληξα ότι java, servlets, jsp κτλ θα γίνουν σε netbeans... Πολύ πιο εύκολο σε χρήση κατ' εμέ! Eclipse μόνο για android development θα χρησιμοποιήσωLenovo ThinkPad T470- Huawei P20 Pro
-
20-04-12, 16:53 Απάντηση: Java και σύνδεση σε server database #12
Μια χαρά μου φαίνονται όλα αυτά που λες.
- MySQL στον server
- http (post) requests από το PC στον servlet, ο servlet μαζεύει τα data από το request, εκτελεί sql queries (χρησιμοποιώντας το connection του jdbc) και τα δεδομένα γράφονται στη db.
και αντίστοιχα το android app, στέλνει requests σε servlet, αυτή τη φορά όμως ο servlet διαβάζει και τυπώνει δεδομένα από τη βάση.
Ναι θα μπορούσε να είναι σε json το output του servlet.
Μετά, το json το χειρίζεσαι στην android εφαρμογή σου όπως θες.
-
20-04-12, 17:02 Απάντηση: Java και σύνδεση σε server database #13
το http post request γίνεται μέσα από την java;;; (αυτό είναι που λέω ότι δεν ξέρω )
επίσης κι εδώ τα request που στέλνονται στο servlet μέσω java γίνονται και συγκεκριμένα της json; (μάλλον έχω καταλάβει λάθος το τι είναι η json)
Να φανταστώ ότι ο jboss που είπε ο nikospara είναι ο application server όπως και ο tomcat και μέσα εκεί θα τρέχει το/τα servlet, έτσι;
Να φανταστώ ότι θα χρειαστώ ένα servlet για την εγγραφή στην db και ένα διαφορετικό για να στέλνει στο android application;;;Lenovo ThinkPad T470- Huawei P20 Pro
-
22-04-12, 12:27 Απάντηση: Java και σύνδεση σε server database #14
Ρίξε μία ματιά στο JAX-RS. Βασικά θα σου πρότεινα να φτιάξεις έναν απλό συνδυασμό client/server που θα μπορείς να δοκιμάσεις στο μηχάνημά σου προτού ασχοληθείς με τον προγραμματισμό του Android. Έτσι θα αποκτήσεις και την απαιτούμενη εμπειρία για την ανάπτυξη όλης της εφαρμογής.
Παρόμοια Θέματα
-
διαφορά file server και database server
Από johnyb98 στο φόρουμ WindowsΜηνύματα: 4Τελευταίο Μήνυμα: 09-09-09, 12:11 -
SiSoftware.Sandra - Could not initialise database! Check database file/server or MDAC.
Από Rick_641 στο φόρουμ WindowsΜηνύματα: 8Τελευταίο Μήνυμα: 28-09-07, 03:40
Bookmarks