Applet και διάβασμα από αρχείο

Συζητήσεις για γλώσσες προγραμματισμού και θέματα σχετικά με προγραμματισμό.
Post Reply
User avatar
adam98
Gbyte level
Gbyte level
Posts: 1078
Joined: Tue May 02, 2006 2:58 pm

Applet και διάβασμα από αρχείο

Post by adam98 » Sat Oct 14, 2006 12:04 pm

Έστω ότι έχω ένα applet που διαβάζει ένα string από κάποιο αρχείο έστω το a.txt και το εμφανίζει στην οθόνη.Αν είναι στο τοπικό σύστημα αρχείων είναι μια χαρά.Αν όμως όλη αυτή η ιστορία γίνεται σε web server θα δουλέψει?Δηλαδή ο client που θα τρέξει το applet από άλλο μηχάνημα θα δει το string δηλαδή το αρχείο θα κατέβει από τον server?
H δύναμη της εξαπάτησης και της καταστροφής μπορεί να γοητεύσει μόνο μέτριους και αδύναμους
Τhe lessons we learn from pain are the ones that make us the strongest
User avatar
Sreak
Venus Project Founder
Venus Project Founder
Posts: 956
Joined: Fri Apr 02, 2004 9:56 am
Academic status: PhD
Location: eltrun.gr

Post by Sreak » Sat Oct 14, 2006 1:21 pm

Χωρίς να έχω δουλέψει ποτέ με applets, μια λογική απάντηση θα ήταν το .txt να βρίσκεται σε ένα path στον σέρβερ σου και να το καλέις κάπως έτσι: http://www.yourserver/file.txt
User avatar
tsilochr
Wow! Terabyte level
Wow! Terabyte level
Posts: 3246
Joined: Tue Mar 16, 2004 2:47 pm
Academic status: PhD
Gender:
Location: mm.aueb.gr
Contact:

Post by tsilochr » Sat Oct 14, 2006 1:43 pm

θα προεκτείνω λίγο την απάντηση του Sreak αλλά κι εγώ δεν έχω δουλέψει με applets.

Λογικά λοιπόν επειδή το applet εκτελείται τοπικά, βλέπει το τοπικό file system. Επομένως για να δει αρχεία που βρίσκονται σε κάποιο εξυπηρετητή θα πρέπει να είναι εύκαιρα για προσπέλαση από το Internet (δλδ σε κάποιο URL) και επίσης δεν ξέρω αν τα applets μπορούν ή έχουν δικαίωμα να το κάνουν αυτό...
User avatar
Einherjar
Venus Project Founder
Venus Project Founder
Posts: 3751
Joined: Tue Jan 27, 2004 4:42 pm
Academic status: Alumnus/a
Gender:
Location: Washington DC, USA
Contact:

Post by Einherjar » Sat Oct 14, 2006 6:46 pm

Αν το αρχείο βρίσκεται στον ίδιο server με το applet τότε δε θα έχεις κανένα πρόβλημα να διαβάσεις οποιοδήποτε αρχείο σερβίρει ο συγκεκριμένος server. Δε μπορεί να είναι οπουδήποτε στο filesystem του αλλά κάπου που να μπορεί να διαβάσει ο webserver. Αν όμως θέλεις να διαβάσεις ένα αρχείο που βρίσκεται κάπου αλλού θα έχεις μπελάδες καθώς χρειάζεται digital signatures κλπ...
[Better to understand a little than to misunderstand a lot]
User avatar
adam98
Gbyte level
Gbyte level
Posts: 1078
Joined: Tue May 02, 2006 2:58 pm

Post by adam98 » Mon Oct 16, 2006 12:48 pm

Ευχαριστώ για τις απαντήσεις.Θα ήθελα να ρωτήσω και κάτι άλλο:γράφω το applet σε netbeans ώστε να μην χασω χρόνο για το gui αλλά όταν βάζω το class που μεταγλωττίζω σε html για να το δω με τον explorer δεν μου ανοίγει και μου γράφει στο κάτω μέρος του παραθύρου "applet applet_name not inited",ενώ με το viewer του nb το ανοιγω και το βλέπω κανονικά να δουλεύει.Έχει κανεις ιδέα τι λάθος κάνω?
H δύναμη της εξαπάτησης και της καταστροφής μπορεί να γοητεύσει μόνο μέτριους και αδύναμους
Τhe lessons we learn from pain are the ones that make us the strongest
User avatar
Argi
byte level
byte level
Posts: 122
Joined: Tue Nov 09, 2004 7:22 pm

Post by Argi » Wed Oct 18, 2006 1:01 am

Πιθανώς λόγω κάποιου exception στην ασφάλεια δεν ξεκίνησε.
(μάλλον με πρόσβαση σε αρχεία έχει να κάνει, αφού με αυτά παίζει το πρόγραμμά σου)

Για να δείς τι έγινε πήγαινε: Εργαλεία-->Sun java console στον internet explorer σου για να σου βγάλει το stacktrace (για άλλον browser δεν ξέρω ).
Πόσταρέ το εδώ για να πάρεις γνώμες αν δεν βγάζεις άκρη ;)
I am a nobody, and nobody is perfect; therefore I am perfect.
User avatar
PaP
Venus Project Founder
Venus Project Founder
Posts: 1077
Joined: Wed Apr 21, 2004 12:06 am
Academic status: Alumnus/a
Location: San Francisco
Contact:

Post by PaP » Wed Oct 18, 2006 10:11 am

Λογικά δεν έχεις καλέσει το Init από την ΗΤΜL σου. Κοίτα το αρχείο που παράγει το ΝEtBEans.
Βασικά καλύτερα ξέχνα τη αυτήν την ιδέα γιατί πολύ απλά ΔΕΝ ΠΑΙΖΕΙ εγώ είχα φάει3 βδομάδες με αυτό. Καλύτερα ανέβασε το αρχείο στο server και ας το διαβάσει αυτός
User avatar
adam98
Gbyte level
Gbyte level
Posts: 1078
Joined: Tue May 02, 2006 2:58 pm

Post by adam98 » Wed Oct 18, 2006 12:52 pm

Ti εννοείς δεν έχω καλέσει την init :?: Δεν καλείται αυτόματα όταν γράψω
"code="classname.class"" θέλει να γράψω κάτι παραπάνω γιατί σε άλλα έτοιμα applet που έχω κατεβάσει από το web με αυτόν τον κώδικα φορτώνονται.Επίσης στο console μου λέει ότι δεν βρίσκει το class που ήδη υπάρχει στο ίδιο φάκελο.Επίσης το applet είναι χαζό έχει απλώς ένα κουμπί ,΄ήθελα απλώς να δώ αν το ανοίγει ο IE
H δύναμη της εξαπάτησης και της καταστροφής μπορεί να γοητεύσει μόνο μέτριους και αδύναμους
Τhe lessons we learn from pain are the ones that make us the strongest
User avatar
Argi
byte level
byte level
Posts: 122
Joined: Tue Nov 09, 2004 7:22 pm

Post by Argi » Wed Oct 18, 2006 12:57 pm

adam98 wrote:Επίσης στο console μου λέει ότι δεν βρίσκει το class που ήδη υπάρχει στο ίδιο φάκελο.
Αυτό είναι το πρόβλημα. Έχεις γράψει καλά το όνομα; Είναι τα κεφαλαία-μικρά σωστά?
I am a nobody, and nobody is perfect; therefore I am perfect.
User avatar
adam98
Gbyte level
Gbyte level
Posts: 1078
Joined: Tue May 02, 2006 2:58 pm

Post by adam98 » Wed Oct 25, 2006 8:58 pm

Το σφάλμα και ο κώδικας μου ειναι:

Java Plug-in 1.5.0_07
Using JRE version 1.5.0_07 Java HotSpot(TM) Client VM
User home directory = C:\Documents and Settings\Alexakos


----------------------------------------------------
c: clear console window
f: finalize objects on finalization queue
g: garbage collect
h: display this help message
l: dump classloader list
m: print memory usage
o: trigger logging
p: reload proxy configuration
q: hide console
r: reload policy configuration
s: dump system and deployment properties
t: dump thread list
v: dump thread stack
x: clear classloader cache
0-5: set trace level to <n>
----------------------------------------------------

java.lang.reflect.InvocationTargetException
at java.awt.EventQueue.invokeAndWait(Unknown Source)
at myApplet.init(myApplet.java:16)
at sun.applet.AppletPanel.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
Caused by: java.lang.NoClassDefFoundError: org/netbeans/lib/awtextra/AbsoluteLayout
at myApplet.initComponents(myApplet.java:36)
at myApplet.access$000(myApplet.java:11)
at myApplet$1.run(myApplet.java:18)
at java.awt.event.InvocationEvent.dispatch(Unknown Source)
at java.awt.EventQueue.dispatchEvent(Unknown Source)
at java.awt.EventDispatchThread.pumpOneEventForHierarchy(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.run(Unknown Source)



public class myApplet extends java.applet.Applet {

/** Initializes the applet myApplet */
public void init() {
try {
java.awt.EventQueue.invokeAndWait(new Runnable() {
public void run() {
initComponents();
}
});
} catch (Exception ex) {
ex.printStackTrace();
}
}

/** This method is called from within the init() method to
* initialize the form.
* WARNING: Do NOT modify this code. The content of this method is
* always regenerated by the Form Editor.
*/
// <editor-fold defaultstate="collapsed" desc=" Generated Code ">//GEN-BEGIN:initComponents
private void initComponents() {
panel1 = new java.awt.Panel();
button1 = new java.awt.Button();

setLayout(new org.netbeans.lib.awtextra.AbsoluteLayout());

setBackground(java.awt.Color.white);
setName("alex");
button1.setLabel("button1");
panel1.add(button1);

add(panel1, new org.netbeans.lib.awtextra.AbsoluteConstraints(90, 100, 120, 80));

}// </editor-fold>//GEN-END:initComponents


// Variables declaration - do not modify//GEN-BEGIN:variables
private java.awt.Button button1;
private java.awt.Panel panel1;
// End of variables declaration//GEN-END:variables

}
H δύναμη της εξαπάτησης και της καταστροφής μπορεί να γοητεύσει μόνο μέτριους και αδύναμους
Τhe lessons we learn from pain are the ones that make us the strongest
User avatar
Argi
byte level
byte level
Posts: 122
Joined: Tue Nov 09, 2004 7:22 pm

Post by Argi » Thu Oct 26, 2006 5:00 pm

Δεν βρήκε αυτή την τάξη η jvm σου:
org.netbeans.lib.awtextra.AbsoluteLayout
και αυτό επίσης: org.netbeans.lib.awtextra.AbsoluteConstraints
αν δεν σταμάταγε στο πρώτο.
Δοκίμασε κάποιο άλλο layout καλύτερα, αυτό το Layout που χρησιμοποιείς δεν ξέρω από που το βρήκες αλλά εμένα δεν το έχουν τα netbeans.
I am a nobody, and nobody is perfect; therefore I am perfect.
User avatar
adam98
Gbyte level
Gbyte level
Posts: 1078
Joined: Tue May 02, 2006 2:58 pm

Post by adam98 » Thu Oct 26, 2006 7:22 pm

Στο netbeans5 το βρήκα, το χρησιμοποίησα γιατί με αυτό μπορώ να κάνω grag and drop από το pallete τα αντικείμενα swing&awt και να τα κουνάω με το ποντίκι καθορίζοντας την θέση τους πολύ εύκολα πάντως αν κάνω run με το netbeans μου το ανοίγει
H δύναμη της εξαπάτησης και της καταστροφής μπορεί να γοητεύσει μόνο μέτριους και αδύναμους
Τhe lessons we learn from pain are the ones that make us the strongest
User avatar
Argi
byte level
byte level
Posts: 122
Joined: Tue Nov 09, 2004 7:22 pm

Post by Argi » Fri Oct 27, 2006 2:44 am

adam98 wrote:Στο netbeans5 το βρήκα, το χρησιμοποίησα γιατί με αυτό μπορώ να κάνω grag and drop από το pallete τα αντικείμενα swing&awt και να τα κουνάω με το ποντίκι καθορίζοντας την θέση τους πολύ εύκολα πάντως αν κάνω run με το netbeans μου το ανοίγει
Χμ, τότε ψάξε στο Internet σε ποιό jar αρχείο βρίσκονται αυτές οι τάξεις και κάντες copy-paste στο φάκελο με την εφαρμογή σου και θα παίξει ;)
I am a nobody, and nobody is perfect; therefore I am perfect.
User avatar
adam98
Gbyte level
Gbyte level
Posts: 1078
Joined: Tue May 02, 2006 2:58 pm

Post by adam98 » Fri Oct 27, 2006 10:39 am

Και οι δύο σου τρόποι ήταν σωστοί!Απλά δεν έιχα προσέξει ότι χρησιμοποιούσε αυτό το library,αλλαξα το layout &no problem!Ευχαριστώ πολύ! :-D
H δύναμη της εξαπάτησης και της καταστροφής μπορεί να γοητεύσει μόνο μέτριους και αδύναμους
Τhe lessons we learn from pain are the ones that make us the strongest
User avatar
Argi
byte level
byte level
Posts: 122
Joined: Tue Nov 09, 2004 7:22 pm

Post by Argi » Fri Oct 27, 2006 4:12 pm

Nice :)
I am a nobody, and nobody is perfect; therefore I am perfect.
Post Reply

Return to “Προγραμματισμός”