blob: 49f8af292a3ada1f13f317b25c051e81431d1eec [file] [log] [blame]
----------------------
Sling javashell sample
----------------------
-------------------------------------------------------------------
SECURITY WARNING:
javashell lets user execute arbitrary code with NO LIMITS, and
is only meant as a teaching/demo tool. Use at your own risk, or
do not use if you don't understand the issues.
Just try "System.exit(0)" if you don't know what this means ;-)
-------------------------------------------------------------------
This sample application executes java code entered in an HTML form,
by generating and compiling java servlets on the fly.
In its first version (2008/11/20), javashell contains a number of
JCR code snippets, under /content/javashell/scripts. We might want
to extend this to more Sling-specific samples, but for now I just
needed that for an interactive JCR presentation.
To test this bundle:
1. Install the org.apache.sling.scripting.java bundle, found under
sling/contrib/scripting/java.
2. Install this bundle and navigate to
http://localhost:8888/content/javashell/scripts/first_example.html
That page should include a "Result of execution" section which lists
some properties and child nodes.
If you get an AccessDeniedException you need to set "allow anonymous
access" to false in the SlingAuthenticator config, via
http://localhost:8888/system/console/configMgr
If you get the default HTML rendering under the "Result of execution"
header, the scripting.java bundle is probably not active.
3. The above page includes links to edit the java code, and create new
pages with more code to execute.
The servlets are generated under /apps/javashell/servlets, and are *not*
cleaned up currently, this is something that should be improved.