Tweeteame!| Programación - Java | |||
| Escrito por AT | |||
| Viernes, 18 de Julio de 2008 21:22 | |||
Java SE 6 Scripting
“Una VM muchos lenguajes”
El scripting es una funcionalidad que se presenta en Java 6 SE como uno de las principales novedades de esta versión.
Consiste en llamar instrucciones en archivos planos que contienen Scripts ejecutables, los mismos pueden ser escritos en JavaScript, Ruby, Phyton, Perl, etc. Esta característica permite que las aplicaciones puedan tener código en un archivo que se puede editar y modificar sin tener que volver a compilar la aplicación para que se realice el cambio; esto hace que un usuario final pueda modificar dichos Script sin necesidad de tener el código fuente y sin necesidad de compilar la aplicación.
Modo de uso
Con que Clases se trabaja:
1- ScriptEngineManager, es el manejador del motor de scripting. Ejemplo de llamado: ScriptEngineManager mgr = new ScriptEngineManager(); 2- ScriptEngine, es el motor de scripting y se llama de esta manera: ScriptEngine engine = engineMgr.getEngineByName("ECMAScript"); Motores instalados por defecto en Java SE 6.0: ScriptEngineFactory Info · Script Engine: Mozilla Rhino (1.6 release 2) · Engine Alias: js · Engine Alias: rhino · Engine Alias: JavaScript · Engine Alias: javascript · Engine Alias: ECMAScript · Engine Alias: ecmascript · Language: ECMAScript (1.6) 3- Ejemplo de ejecución de Scripting, introduciendo como un String lo que se tiene que ejecutar: engine.eval("print('Hello, world!')"); 4- Ejemplo de ejecución de Scripting, llamando la instrucción dentro de un archivo de script (.js): engine.eval(new FileReader("F1.js"));
![]() Ejemplo de clase con llamado a método de Scripting: import javax.script.*; public class EjemploScripting { public static void main (String[] args){ try{ ScriptEngineManager mgr = new ScriptEngineManager(); ScriptEngine jsEngine = mgr.getEngineByName("ECMAScript"); // ScriptEngine jsEngine = mgr.getEngineByExtension("js"); jsEngine.eval("print('Hola Mundo')"); } catch (ScriptException screx){ screx.printStackTrace(); } } } Espero que les haya quedado claro y haya sido de vuestra ayuda.
Si te ha gustado este artículo y si crees que lo que está escrito vale la pena compartirlo, entonces compártelo con la comunidad que prefieras mediante los links que están debajo.
Gracias por visitarnos.
|
|||
| Última actualización el Martes, 30 de Septiembre de 2008 13:20 |