Apache Sling Scripting Java Support

Clone this repo:
  1. e48967d Updating badges for org-apache-sling-scripting-java by Radu Cotescu · 1 year, 4 months ago master
  2. cc7812e SLING-7245 - Validate pull requests using Jenkins by Robert Munteanu · 1 year, 4 months ago
  3. 3db0670 trivial: added license header to *.md files by Radu Cotescu · 1 year, 8 months ago
  4. 8c6ddb5 SLING-7215 - [nice-to-have] Add a CONTRIBUTING file to every module by Radu Cotescu · 1 year, 8 months ago
  5. 9e2cdc0 SLING-7216 - [nice-to-have] Add a CODE_OF_CONDUCT file to every module by Radu Cotescu · 1 year, 8 months ago

Build Status Maven Central JavaDocs License scripting

Apache Sling Scripting Java Support

This module is part of the Apache Sling project.

This module implements a script engine for java servlets, that are compiled on the fly by Sling.

To test it:

  1. Install this bundle in Sling, for example with

mvn -P autoInstallBundle clean install -Dsling.url=http://localhost:8080/system/console

If Sling is running with the launchpad/testing setup.

  1. Create /apps/foo/foo.java in your repository (via WebDAV for example), with this code:

package apps.foo;

import java.io.IOException; import javax.servlet.ServletException; import org.apache.sling.api.SlingHttpServletRequest; import org.apache.sling.api.SlingHttpServletResponse; import org.apache.sling.api.servlets.SlingSafeMethodsServlet;

public class foo extends SlingSafeMethodsServlet {

protected void doGet(SlingHttpServletRequest request, SlingHttpServletResponse response) 
throws ServletException, IOException {
    response.getWriter().write("Response from " + getClass().getName() + " at " + new java.util.Date());


  1. Request http://localhost:8080/content/foo/*.html which should display something like

Response from apps.foo.foo at Tue Nov 18 14:49:14 CET 2008

  1. The servlet code should be automatically recompiled after any changes.