2 formas de obtener la URL de la página en los applets de Java, ¿cuál es la diferencia y / o los beneficios de cada uno?

Las dos formas que sé para obtener la URL de la página son: 1.a través de la clase de applet: Applet.getDocumentBase ()

2.a través de la biblioteca de JavaScript de netscape: JSObject.getWindow (this) .eval ("location.href")

Primero, ¿cuáles son las diferencias entre esos dos métodos y las ventajas de cada uno?

En segundo lugar, ¿pueden los usuarios engañar de alguna manera la url de esos métodos? hacer que el applet piense que está incrustado en http://www.stackoverflow.com/index.html por ejemplo?

Respuesta 1

Si observa el código de Applet.getDocumentBase()(implementación del sol de AppletStub), verá que también está obteniendo la ubicación usandoJSObject . Pero tiene una gran cantidad de código adicional y está garantizado para funcionar en todos los navegadores y configuraciones. Así que mejor usoApplet.getDocumentBase()

Respuesta: 2

La respuesta es más fácil de lo que piensas.

Debe usarlo Applet.getDocumentBaseen caso de que la implementación varíe entre plataformas o JVM, o se modifique en una fecha posterior. El hecho de que JSObject sea la forma en que la JVM de Sun obtiene este valor no significa que, por ejemplo, la JVM de IBM funcione de esa manera.

Respuesta: 3

Bastante seguro de que los usuarios podrían falsificarlo:

  1. Descargue su .jar y host en un servidor controlado por el usuario
  2. Cambie su archivo etc / hosts para que stackoverflow.com apunte a la IP de su servidor
  3. Configure el servidor para atender solicitudes de stackoverflow.com
  4. Visite la página en el servidor con el applet incrustado

Y el applet creerá que está en stackoverflow.com. ¡Sin embargo, probablemente haya una forma más simple de falsificarlo!

Respuesta: 4

En este bonito artículo sobre JMS, Bruce Snyder (Autor de "ActiveMQ en acción") menciona: [una] de las opciones para implementar un escucha de mensajes para usar con Spring DMLC es usar javax.jms ...

Me gustaría descubrir todas las implementaciones de una interfaz durante el tiempo de ejecución en una aplicación Java y cargar esas clases dinámicamente desde archivos JAR que el usuario puede agregar a una carpeta. Es un sistema enchufable, ...

Necesito ejecutar este sql: select * from (select nt. *, Rank () over (partición por feld0 orden por feld1 desc) como clasificación de (seleccione bla de prueba) nt) donde clasificación <3 orden por 1,2. ..

Tengo una aplicación de arranque de primavera y quiero leer algunas variables de mi archivo application.properties. De hecho, los siguientes códigos hacen eso. Pero creo que hay un buen método para esta alternativa. Propiedades ...