Well, my first choice would be for Java to do the work of saving the results on the server before jumping. It's nothing to do with what language each component is, it's just that it seems to me to be the best "responsible party." Encode a similar call to fetch a certain page but don't actually show the results (or the URL) to the user. Then you can jump to a new vanilla URL which shows the results.
in reply to Java game linking to a perl script
Barring that, learn how Java can POST the solved url information rather than GET the solved url information. The POST method hides the values they're sending, while the GET method encodes them into the URL where anyone can see or muck. I'm guessing Java has a way to do that, too.
Methods GET and POST in HTML forms - what's the difference?
Barring that, you should encode the URL parameters in such a way that the user can't recognize or muck them. That might mean that your Java and your perl need to share a key.
If you're really trying to avoid all chance of snooping, you'd use a public key encryption scheme, whereby the Java applet only knows a public key and the perl script can read the encoded form in private key. Of course, since Java is a bytecode, easily decompiled language...
[ e d @ h a l l e y . c c ]