Newsgroup: it.comp.java
Titolo: Si puo installare automaticamente la JVM?

Dovrei scrivere un programma java che sarà distribuito su cd, aprendo il cd 
si aprirà una form con una pagina html scritta utilizzando le jsp, poichè 
gli utenti non sono in grado di installare da soli la jvm, posso fare in 
modo che se non è installata l'installazione parta da sola? 

Ciao
Andrea ha scritto:

Scusami, forse ho capito male..  vorresti far installare automaticamente 
la jvm per far eseguire ad un browser delle pagine jsp?

 ha scritto nel messaggio 
news:di5f7s$eal$2...@canarie.caspur.it...


 Si, delle pagine jsp che stanno su un cd.
ma per far girare le jsp 
non cè bisogno di un servletContainer o application server????????
Al
-- 
Posted via Mailgate.ORG Server - 
http://www.Mailgate.ORG

 
Sinceramente non credo si possa fare. La JVM e' indispensabile per 
eseguire qualsiasi file java compilata, ma su un client (leggi browser) 
può eseguire solo applet, e sul tuo pc in generale delle applicazioni java.
Per eseguire delle jsp hai bisogno di un application server.. ti 
servirebbe almeno Tomcat che non puoi far installare automaticamente sui 
client per far guardare un cd.


E' quello che sapevo pure Io.
Ma a che pro far girare delle jsp su un pc?
Forse aprirai una pagina HTML con dei collegamenti a delle jsp che stanno su
un server?
Totonno®

 ha scritto nel messaggio 
news:di5ghf$eta$1...@canarie.caspur.it...


 La strada della jvm è sbagliata? serve un application server?
La domanda non dev'essere: cosa fa la mia applicazione?
La domanda e': come lo fa la mia applicazione?
Se usi il javascript per switchare tra le pagine è un discorso, se usi 
del codice jsp e' un altro.
Tu cosa usi? Usi taglibrary jsp e altro nelle tue pagine che prima di 
produrre html devono essere compilate??

Phai wrote:

Si puo' fare, si puo' fare... ;)
... e si puo' far stare tutto su CD senza dover installare nulla,
nemmeno la JVM!
Noi lo facciamo per la distribuzione di copie di cataloghi web su CD, con
una configurazione che utilizza JVM + Tomcat + db HSQL (+ ovviamente la
nostra applicazione!).
Bisogna pero' lavorarci un po' sopra per le ottimizzazioni, perche'
la velocita' limitata di alcuni lettori CD puo' causare errori di
timeout allo startup.
In ogni caso le prestazioni non saranno mai entusiasmanti se
l'applicazione lavora molto sul db ed il pc su cui gira non ha
sufficiente RAM.
In alternativa, se hai le jsp in funzione su un server web e non
devi supportare funzionalita' dinamiche (tipo ricerche su db),
puo' creare una copia statica del tuo sito usando un "serpentone".
Occhio pero' che anche in questo caso c'e' da lavorare un po'
per gestire correttamente eventuali cookie di sessione ed eventuali
conflitti nei nomi delle pagine html generate dal "serpentone".
Saluti
Roberto

 ha scritto

Io ho utilizzato Inno Setup qualche anno addietro.
Ecco il file per la compilazione
[Setup]
AppName= app_name
AppVerName=app_name1.0
AppPublisher=app_publisher
AppPublisherURL=
http://www.app_publisher.net
AppSupportURL=
http://www.app_publisher.net
AppUpdatesURL=
http://www.app_publisher.net
DefaultDirName=C:\app_name
DefaultGroupName=app_name
[Tasks]
Name: "desktopicon"; Description: "Create a &desktop icon";
GroupDescription: "Additional icons:"
[Files]
Source: "C:\app_name\start\app.ico"; DestDir: "{app}\start\"; Flags:
ignoreversion
Source: "C:\app_name\app_name.jar"; DestDir: "{app}"; Flags: ignoreversion
Source: "C:\app_name\j2re-1_4_1_01-windows-i586-i.exe"; DestDir: "{app}";
Flags: ignoreversion
Source: "C:\app_name\img\*"; DestDir: "{app}\img\"; Flags: ignoreversion
Source: "C:\app_name\header\*"; DestDir: "{app}\header\"; Flags:
ignoreversion
; NOTE: Don't use "Flags: ignoreversion" on any shared system files
[Icons]
Name: "{group}\app_name"; Filename: "{app}\idea_web.jar";IconFilename:
"{app}\start\avvocati.ico"
Name: "{group}\Uninstall app_name"; Filename: "{uninstallexe}"
Name: "{userdesktop}\app_name"; Filename: "{app}\idea_web.jar"; Tasks:
desktopicon;IconFilename: "{app}\start\app.ico"
[Run]
Filename: "C:\app_name\j2re-1_4_1_01-windows-i586-i.exe"; Description:
"Launch app_name"; Flags: shellexec postinstall skipifsilent
Prima di usarlo sostituisci "app_name" con il nome della tua applicazione.
In questo modo viene fatta prima l'installazione del programma (copia
jar,immagini e dati  in una directory e cre le varie icone sul desktop e
nella barra degli indirizzi) successivamente poi viene fatta partite
l'installazione del runtime di java.
Spero di esserti stato utile.
Totonno®

Ho letto adesso le tue intenzioni, pensavo che volessi solo installare la
JRE.
TotonnoŽ

Uso le jsp per poter richiamare una pagina html piuttosto che un'altra in 
base al valore immesso nella form della home page.


 o inviato per email.
Non credo si possa fare con javascript.
Totonno®

Totonno® ha scritto:

Si può

 Si puň
Cosě?
<FORM METHOD=POST ACTION="mailto:
x...@xxx.xxx
"
ENCTYPE="application/x-www-form-urlencoded">
<INPUT TYPE=TEXT NAME="email" SIZE=22 MAXLENGTH=20>
</FORM>
TotonnoŽ

 base al valore immesso nella form della home page.
Quindi sono le pagine html che si occupano di stampare o mandare 
l'email? Se e' cosi' puoi utilizzare direttamente javascript (che e' 
presente in tutti i browser e non necessita nessuna installazione 
particolare) per decidere quale pagina caricare.
Ci sono vari approcci che puoi seguire:
1. Una pagina che legge il valore del form e fa il redirect verso 
un'altra pagine
2. Quando uno clicca sul submit il submit cambia la action del form in 
base al valore presente
3. Sostituisci il submit con un button e al click fai un redirect verso 
la pagina voluta in base al valore del form.
Scegli il metodo che preferisci (a patto che, come ti ho detto, usi jsp 
solo per switchare e html+js per tutto il resto).
Fammi sapere.
Ciao

 
Ho motivo di credere, dalle risposte ricevute, che Andrea stia usando un 
mailto per inviare le email e un document.print() per la stampa.
Potrei sbagliarmi.

 base al valore immesso nella form della home page.
Puoi usare javascript per farlo.
Puoi inviare il form via e-mail utilizzando questo:
<FORM METHOD=POST ACTION="mailto:
x...@xxx.xxx
"
ENCTYPE="application/x-www-form-urlencoded">
<INPUT TYPE=TEXT NAME="campol" SIZE=22 MAXLENGTH=20>
<INPUT TYPE=TEXT NAME="campo2" SIZE=22 MAXLENGTH=20>
<INPUT TYPE=TEXT NAME="campo n" SIZE=22 MAXLENGTH=20>
</FORM>
Puoi utilizzare javascript per far stampare il form al browser, anzi, Io
farei delle pagine html formattate per essere stampate, prima di stamparle
farei vedere l'anteprima (pagina formattata per la stampa) caricando i dati
immessi nel form della pagina originale e successivamente consentirei di
stampare.
Non c'è alcun bisogno delle JSP.
Totonno®

Il programma funziona così:
1)  Si apre una form
2)  Il cliente inserisce due valori
3a) In base al primo valore immesso si caricherà una pagina html (una tra 
una decina disponibili)
3b) La pagina html dovrà avere un logo caricato da una cartella contenente 
varie immagini, il logo sarà scelto in  base al secondo valore immesso nella 
form
4) La pagina dovrà poter essere salvata, stampata o spedita tramite email.
Se ho capito bene si può fare tutto usando javascript?
Se uso java mi serve l'application server?
e la jvm? 

 e la jvm?
Se usi jsp ti serve l'application server che a sua volta necessita del jdk
(non il jre).
Totonno®

 al logo che devi caricare.
Rettifico:
Puoi inviare i dati dei form per e-mail, ma non tutta la pagina.
Potresti utilizzare dei cookies per salvare i dati che hai immesso nel form
della pagina in modo che quando la richiami dal programma vengano
visualizzati
gli ultimi dati che hai immesso.
Di più non puoi, credimi.
Totonno®

 nostra applicazione!).
Io ho fatto una cosa del genere, ma ho preferito fare un'applet che si
appoggia ad un db Access. Come mai, avete scartato questa soluzione ?
Ciao,
Maurizio.

Maurizio Penna wrote:

Semplicemente perche' cosi' facendo siamo in grado di
portare "paru-paru" su CD l'applicazione che gira sul server
del cliente.
Ovviamente sul db distribuito su CD ci sono solo le informazioni
non riservate che il cliente decide di distribuire al pubblico.
Saluti
Roberto

 Roberto

 san copia/incolla... ;-)
No, nessun copia/incolla: sul CD gira *esattamente* la stessa
applicazione che c'e' sul server Internet e infatti si usa lo
stesso WAR (con la sola eccezione del file di configurazione
delle connessioni JDBC, che e' ovviamente diverso perche' sul
CD c'e' HSQL, mentre sul server c'e' un db Interbase o PostgreSQL).
Ovviamente il contenuto della base di dati viene "scremato"
per eliminare le informazioni "sensibili" che il cliente
non vuole distribuire in giro, ma per questo, dato che
la struttura del database rimane immutata, abbiamo una
applicazioncina (Java ovviamente!) che ci trasferisce
automaticamente i dati che ci servono.
Saluti
Roberto


mah!!!
a parte che serve il motore jsp (tomcat o simili),
la tecnica delle JSP è stata inventata appositamente per
generare pagine "dinamiche" se le tue pagine stanno su un CD
direi che sono invece piuttosto "statiche"
che senso ha quello che chiedi???
falle in html e morta li.
Saluti
 

Infatti mi hanno appena detto che devo usare un'applet per rendere il lavoro 
più veloce e quindi meno costoso.


 più veloce e quindi meno costoso.
Che compiti avrebbe l'applet?
Si collega ad un db locale?
Totonno®