29. Introduction to Scripting in Java (e.g., JavaScript Engine)
Java's integration of scripting languages enhances dynamic behavior in applications, enabling real-time script execution, modification of application logic, and support for user-defined logic. This chapter explores the Java Scripting API and its practical applications, primarily focusing on the Nashorn JavaScript engine. It also discusses the advantages and challenges of scripting in Java, alongside alternatives to Nashorn and embedding Groovy as a scripting language.
Enroll to start learning
You've not yet enrolled in this course. Please enroll for free to listen to audio lessons, classroom podcasts and take practice test.
Sections
Navigate through the learning materials and practice exercises.
-
29.3.2Basic Nashorn Example
The Basic Nashorn Example demonstrates how to execute JavaScript code within...
What we have learnt
- Scripting in Java allows embedding and executing dynamic languages like JavaScript.
- The Java Scripting API (JSR 223) facilitates interaction between Java and scripting languages.
- Nashorn was introduced as a successor to Rhino for JavaScript integration but is deprecated in newer Java versions.
Key Concepts
- -- Java Scripting API (JSR 223)
- A set of interfaces that allow Java applications to embed and execute scripts written in dynamic programming languages.
- -- Nashorn
- A JavaScript engine introduced in Java 8, providing improved performance and integration with Java, but deprecated in Java 11.
- -- Bindings
- A map of key-value pairs used to pass variables between Java and scripting contexts.
- -- Invocable Interface
- An interface that allows calling JavaScript functions from Java code within the Nashorn engine.
- -- GraalVM
- A high-performance runtime that provides support for multiple languages including JavaScript and Python, serving as a modern alternative to Nashorn.
- -- Groovy
- A dynamic language for the Java platform, which integrates seamlessly with Java and can be embedded as a scripting language.
Additional Learning Materials
Supplementary resources to enhance your learning experience.