Visualizzazione dei risultati da 1 a 2 su 2
  1. #1

    Chiamata servlet java in GET, problema carattere &

    salve a tutti,

    Ho un problema con una servlet, o meglio non so che soluzione adottare.

    io ho una servlet che accetta 4 parametri in input:

    es:
    codice:
    http://sita1801wz:50000/proxyBud/proxyInterface?TYPE=WEBI&ISN_RISORSA=&USER=CECONGI1&PARAM=~~docName~EXM_Scorecard_Aggregato~~domain~Documenti~~refresh~y~~outputType~XLS~~flagprompt~y~~typeprompt~v~~promptvalue~P_ISNENTITY.-.1000002620-.-P_ENTITY_TYPE.-.OL1
    ora questa servlet in base a varie logiche formulerà una chiamata ad altre servlet che avranno come parametri di input gli stessi che ho passato nel campo PARAM.

    Come vedete nell'esempio sopra nel param c'è praticamente una lista di parametri di un altra servlet, perchè in alcuni casi la mia applicazione deve fare solo da passa carte. Quindi come soluzione ho pensato di sostituire l'& con ~~ e l'= con ~, mentre nel campo promptvalue ho sostituito ~ con .-. e ~~ con .-.

    in pratica il campo param sopra, dopo essere passato nella mia servlet diventerà così:

    codice:
    &docName=EXM_Scorecard_Aggregato&domain=Documenti&refresh=y&outputType=XLS&flagprompt=y&typeprompt=v&promptvalue=P_ISNENTITY~1000002620~~P_ENTITY_TYPE~OL1
    in seguito la mia applicazione capisce che servlet chiamare e attacca davanti a questi dati la parte mancante dell'url.

    La mia domanda è questa, esiste un altro modo per passare i carattere & e = in una chiamata GET a una servlet che non vengano interpretati come parametri?

    Io vorrei evitare di fare una doppia conversione tra due servlet, i parametri sono sempre dinamici e devo trattarli come tali..

    Spero di esser riuscito a spiegare il mio problema, magari voi conoscete una soluzione più indolore e più efficace..

    grazie a chiunque avrà la voglia di leggersi questo casotto

  2. #2
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,328
    Scrivendolo in notazione esadecimale (%26) :

    codice:
    &docName=EXM_Scorecard_Aggregato&domain=Documenti&refresh=y&outputType=XLS&flagprompt=y&typeprompt=v&promptvalue=P_ISNENTITY%261000002620%26%26P_ENTITY_TYPE&26OL1
    Si chiama URL encoded string. Si usa appositamente per questi (ed altri) casi. Il vantaggio è che chi riceve l'informazione dall'altra parte non deve fare alcuna ri-conversione poichè il passaggio è del tutto trasparente.


    Ciao.
    "Perchè spendere anche solo 5 dollari per un S.O., quando posso averne uno gratis e spendere quei 5 dollari per 5 bottiglie di birra?" [Jon "maddog" Hall]
    Fatti non foste a viver come bruti, ma per seguir virtute e canoscenza

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.