diff --git a/bundles/io/org.openhab.io.jetty/.classpath b/bundles/io/org.openhab.io.jetty/.classpath
new file mode 100644
index 0000000000000..d6eeafd2743bf
--- /dev/null
+++ b/bundles/io/org.openhab.io.jetty/.classpath
@@ -0,0 +1,15 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/bundles/io/org.openhab.io.jetty/.project b/bundles/io/org.openhab.io.jetty/.project
new file mode 100644
index 0000000000000..467f203e7c691
--- /dev/null
+++ b/bundles/io/org.openhab.io.jetty/.project
@@ -0,0 +1,34 @@
+
+
+ org.openhab.io.jetty
+
+
+
+
+
+ org.eclipse.jdt.core.javabuilder
+
+
+
+
+ org.eclipse.pde.ManifestBuilder
+
+
+
+
+ org.eclipse.pde.SchemaBuilder
+
+
+
+
+ org.eclipse.m2e.core.maven2Builder
+
+
+
+
+
+ org.eclipse.m2e.core.maven2Nature
+ org.eclipse.pde.PluginNature
+ org.eclipse.jdt.core.javanature
+
+
diff --git a/bundles/io/org.openhab.io.jetty/.settings/org.eclipse.jdt.core.prefs b/bundles/io/org.openhab.io.jetty/.settings/org.eclipse.jdt.core.prefs
new file mode 100644
index 0000000000000..443e08599a2e6
--- /dev/null
+++ b/bundles/io/org.openhab.io.jetty/.settings/org.eclipse.jdt.core.prefs
@@ -0,0 +1,8 @@
+eclipse.preferences.version=1
+org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
+org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.7
+org.eclipse.jdt.core.compiler.compliance=1.7
+org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
+org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
+org.eclipse.jdt.core.compiler.problem.forbiddenReference=warning
+org.eclipse.jdt.core.compiler.source=1.7
diff --git a/bundles/io/org.openhab.io.jetty/.settings/org.eclipse.m2e.core.prefs b/bundles/io/org.openhab.io.jetty/.settings/org.eclipse.m2e.core.prefs
new file mode 100644
index 0000000000000..f897a7f1cb238
--- /dev/null
+++ b/bundles/io/org.openhab.io.jetty/.settings/org.eclipse.m2e.core.prefs
@@ -0,0 +1,4 @@
+activeProfiles=
+eclipse.preferences.version=1
+resolveWorkspaceProjects=true
+version=1
diff --git a/bundles/io/org.openhab.io.jetty/META-INF/MANIFEST.MF b/bundles/io/org.openhab.io.jetty/META-INF/MANIFEST.MF
new file mode 100644
index 0000000000000..fc6b283847634
--- /dev/null
+++ b/bundles/io/org.openhab.io.jetty/META-INF/MANIFEST.MF
@@ -0,0 +1,10 @@
+Manifest-Version: 1.0
+Bundle-ManifestVersion: 2
+Bundle-Name: openHAB Jetty
+Bundle-SymbolicName: org.openhab.io.jetty;singleton:=true
+Bundle-Version: 2.0.0.qualifier
+Bundle-RequiredExecutionEnvironment: JavaSE-1.7
+Bundle-Vendor: openHAB.org
+Bundle-ActivationPolicy: lazy
+Bundle-Classpath: .
+Import-Package: org.eclipse.jetty.rewrite.handler
diff --git a/bundles/io/org.openhab.io.jetty/build.properties b/bundles/io/org.openhab.io.jetty/build.properties
new file mode 100644
index 0000000000000..b76e462f3d285
--- /dev/null
+++ b/bundles/io/org.openhab.io.jetty/build.properties
@@ -0,0 +1,3 @@
+bin.includes = jettyhome/,\
+ META-INF/
+src.includes = jettyhome/
diff --git a/bundles/io/org.openhab.io.jetty/jettyhome/etc/jetty-deployer.xml b/bundles/io/org.openhab.io.jetty/jettyhome/etc/jetty-deployer.xml
new file mode 100644
index 0000000000000..f253c5d10c474
--- /dev/null
+++ b/bundles/io/org.openhab.io.jetty/jettyhome/etc/jetty-deployer.xml
@@ -0,0 +1,23 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ org.eclipse.jetty.server.webapp.ContainerIncludeJarPattern
+ .*/jsp-api-[^/]*\.jar$|.*/jsp-[^/]*\.jar$
+
+
+
+
+
+
\ No newline at end of file
diff --git a/bundles/io/org.openhab.io.jetty/jettyhome/etc/jetty-rewrite.xml b/bundles/io/org.openhab.io.jetty/jettyhome/etc/jetty-rewrite.xml
new file mode 100644
index 0000000000000..998c40f7ab2a5
--- /dev/null
+++ b/bundles/io/org.openhab.io.jetty/jettyhome/etc/jetty-rewrite.xml
@@ -0,0 +1,47 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ true
+ false
+ requestedPath
+
+
+
+
+
+ X-Forwarded-Scheme
+ https
+ https
+
+
+
+
+
+
+ X-Forwarded-Scheme
+ http
+ http
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/bundles/io/org.openhab.io.jetty/jettyhome/etc/jetty-selector.xml b/bundles/io/org.openhab.io.jetty/jettyhome/etc/jetty-selector.xml
new file mode 100644
index 0000000000000..45d3598e65adc
--- /dev/null
+++ b/bundles/io/org.openhab.io.jetty/jettyhome/etc/jetty-selector.xml
@@ -0,0 +1,31 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+ 300000
+
+
+
+
+
\ No newline at end of file
diff --git a/bundles/io/org.openhab.io.jetty/jettyhome/etc/jetty.xml b/bundles/io/org.openhab.io.jetty/jettyhome/etc/jetty.xml
new file mode 100644
index 0000000000000..07764d2907b9e
--- /dev/null
+++ b/bundles/io/org.openhab.io.jetty/jettyhome/etc/jetty.xml
@@ -0,0 +1,128 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 10
+ 200
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+ X-Forwarded-Scheme
+ https
+ https
+
+
+
+
+
+
+ X-Forwarded-Scheme
+ http
+ http
+
+
+
+
+
+ -
+
+
+ -
+
+
+ -
+
+
+
+
+
+
+
+
+ https
+
+
+
+ 32768
+ 8192
+ 8192
+ true
+ false
+ 512
+
+
+
+
+
+
+ true
+ 1000
+ false
+ false
+
+
+
+
+
+
+
+
+
+
+ org.eclipse.jetty.webapp.FragmentConfiguration
+
+
+ - org.eclipse.jetty.plus.webapp.EnvConfiguration
+ - org.eclipse.jetty.plus.webapp.PlusConfiguration
+ - org.eclipse.jetty.annotations.AnnotationConfiguration
+
+
+
+
+
+
+ java.naming.factory.initial
+
+
+
+
+
+ java.naming.factory.url.pkgs
+
+
+
+
+
+
\ No newline at end of file
diff --git a/bundles/io/org.openhab.io.jetty/pom.xml b/bundles/io/org.openhab.io.jetty/pom.xml
new file mode 100644
index 0000000000000..2e9388491c9e2
--- /dev/null
+++ b/bundles/io/org.openhab.io.jetty/pom.xml
@@ -0,0 +1,19 @@
+
+ 4.0.0
+ org.openhab.io
+ org.openhab.io.jetty
+ openHAB Jetty
+
+ eclipse-plugin
+
+ org.openhab.bundles
+ io
+ 2.0.0-SNAPSHOT
+
+
+ org.openhab.io.jetty
+ org.openhab.io.jetty
+
+
+
\ No newline at end of file
diff --git a/bundles/io/pom.xml b/bundles/io/pom.xml
index 1254da8575904..e0199f8363eae 100644
--- a/bundles/io/pom.xml
+++ b/bundles/io/pom.xml
@@ -17,6 +17,7 @@
org.openhab.io.transport.serial
+ org.openhab.io.jetty
diff --git a/distribution/openhabhome/start.bat b/distribution/openhabhome/start.bat
index 8a0e7328d8e40..739fd0e0713c1 100644
--- a/distribution/openhabhome/start.bat
+++ b/distribution/openhabhome/start.bat
@@ -15,4 +15,4 @@ set PROG_ARGS=-Dlogback.configurationFile=./runtime/etc/logback.xml -DmdnsName=o
:: start Eclipse w/ java
echo Launching the openHAB runtime...
-java %PROG_ARGS% -Dosgi.clean=true -Declipse.ignoreApp=true -Dosgi.noShutdown=true -Djetty.home.bundle=org.eclipse.jetty.osgi.boot -Djetty.port=%HTTP_PORT% -Djetty.port.ssl=%HTTPS_PORT% -Dfelix.fileinstall.dir=addons -Djava.library.path=lib -Dequinox.ds.block_timeout=240000 -Dequinox.scr.waitTimeOnBlock=60000 -Dfelix.fileinstall.active.level=4 -Djava.awt.headless=true -jar %EQUINOXJAR% %* -console
+java %PROG_ARGS% -Dosgi.clean=true -Declipse.ignoreApp=true -Dosgi.noShutdown=true -Djetty.home.bundle=org.openhab.io.jetty -Djetty.port=%HTTP_PORT% -Djetty.port.ssl=%HTTPS_PORT% -Dfelix.fileinstall.dir=addons -Djava.library.path=lib -Dequinox.ds.block_timeout=240000 -Dequinox.scr.waitTimeOnBlock=60000 -Dfelix.fileinstall.active.level=4 -Djava.awt.headless=true -jar %EQUINOXJAR% %* -console
diff --git a/distribution/openhabhome/start.sh b/distribution/openhabhome/start.sh
index 55d120f3c2dd7..f5e9ae44d93f4 100644
--- a/distribution/openhabhome/start.sh
+++ b/distribution/openhabhome/start.sh
@@ -16,4 +16,4 @@ cp=$(find $eclipsehome -name "org.eclipse.equinox.launcher_*.jar" | sort | tail
prog_args="-Dlogback.configurationFile=./runtime/etc/logback.xml -DmdnsName=openhab -Dopenhab.logdir=./userdata/logs -Dsmarthome.servicecfg=./runtime/etc/services.cfg -Dsmarthome.servicepid=org.openhab -Dorg.quartz.properties=./runtime/etc/quartz.properties"
echo Launching the openHAB runtime...
-java $prog_args -Dosgi.clean=true -Declipse.ignoreApp=true -Dosgi.noShutdown=true -Djetty.home.bundle=org.eclipse.jetty.osgi.boot -Djetty.port=$HTTP_PORT -Djetty.port.ssl=$HTTPS_PORT -Dfelix.fileinstall.dir=addons -Djava.library.path=lib -Dequinox.ds.block_timeout=240000 -Dequinox.scr.waitTimeOnBlock=60000 -Dfelix.fileinstall.active.level=4 -Djava.awt.headless=true -jar $cp $* -console
+java $prog_args -Dosgi.clean=true -Declipse.ignoreApp=true -Dosgi.noShutdown=true -Djetty.home.bundle=org.openhab.io.jetty -Djetty.port=$HTTP_PORT -Djetty.port.ssl=$HTTPS_PORT -Dfelix.fileinstall.dir=addons -Djava.library.path=lib -Dequinox.ds.block_timeout=240000 -Dequinox.scr.waitTimeOnBlock=60000 -Dfelix.fileinstall.active.level=4 -Djava.awt.headless=true -jar $cp $* -console
diff --git a/distribution/openhabhome/start_debug.bat b/distribution/openhabhome/start_debug.bat
index bb2054e7f1f5d..cba8c672c3bcd 100644
--- a/distribution/openhabhome/start_debug.bat
+++ b/distribution/openhabhome/start_debug.bat
@@ -18,4 +18,4 @@ set PROG_ARGS=-Dlogback.configurationFile=./runtime/etc/logback_debug.xml -Dmdns
:: start Eclipse w/ java
echo Launching the openHAB runtime...
-java %DEBUG_OPTS% %PROG_ARGS% -Dosgi.clean=true -Declipse.ignoreApp=true -Dosgi.noShutdown=true -Djetty.home.bundle=org.eclipse.jetty.osgi.boot -Djetty.port=%HTTP_PORT% -Djetty.port.ssl=%HTTPS_PORT% -Dfelix.fileinstall.dir=addons -Djava.library.path=lib -Dequinox.ds.block_timeout=240000 -Dequinox.scr.waitTimeOnBlock=60000 -Dfelix.fileinstall.active.level=4 -Djava.awt.headless=true -jar %EQUINOXJAR% %* -console
+java %DEBUG_OPTS% %PROG_ARGS% -Dosgi.clean=true -Declipse.ignoreApp=true -Dosgi.noShutdown=true -Djetty.home.bundle=org.openhab.io.jetty -Djetty.port=%HTTP_PORT% -Djetty.port.ssl=%HTTPS_PORT% -Dfelix.fileinstall.dir=addons -Djava.library.path=lib -Dequinox.ds.block_timeout=240000 -Dequinox.scr.waitTimeOnBlock=60000 -Dfelix.fileinstall.active.level=4 -Djava.awt.headless=true -jar %EQUINOXJAR% %* -console
diff --git a/distribution/openhabhome/start_debug.sh b/distribution/openhabhome/start_debug.sh
index f100edd90e95d..93d50a3549f76 100644
--- a/distribution/openhabhome/start_debug.sh
+++ b/distribution/openhabhome/start_debug.sh
@@ -19,4 +19,4 @@ debug_opts="-Xdebug -Xnoagent -Djava.compiler=NONE -Xrunjdwp:transport=dt_socket
prog_args="-Dlogback.configurationFile=./runtime/etc/logback_debug.xml -DmdnsName=openhab -Dopenhab.logdir=./userdata/logs -Dsmarthome.servicecfg=./runtime/etc/services.cfg -Dsmarthome.servicepid=org.openhab -Dorg.quartz.properties=./runtime/etc/quartz.properties"
echo Launching the openHAB runtime in debug mode...
-java $debug_opts $prog_args -Dosgi.clean=true -Declipse.ignoreApp=true -Dosgi.noShutdown=true -Djetty.home.bundle=org.eclipse.jetty.osgi.boot -Djetty.port=$HTTP_PORT -Djetty.port.ssl=$HTTPS_PORT -Dfelix.fileinstall.dir=addons -Djava.library.path=lib -Dequinox.ds.block_timeout=240000 -Dequinox.scr.waitTimeOnBlock=60000 -Dfelix.fileinstall.active.level=4 -Djava.awt.headless=true -jar $cp $* -console
+java $debug_opts $prog_args -Dosgi.clean=true -Declipse.ignoreApp=true -Dosgi.noShutdown=true -Djetty.home.bundle=org.openhab.io.jetty -Djetty.port=$HTTP_PORT -Djetty.port.ssl=$HTTPS_PORT -Dfelix.fileinstall.dir=addons -Djava.library.path=lib -Dequinox.ds.block_timeout=240000 -Dequinox.scr.waitTimeOnBlock=60000 -Dfelix.fileinstall.active.level=4 -Djava.awt.headless=true -jar $cp $* -console
diff --git a/features/org.openhab.runtime.feature/feature.xml b/features/org.openhab.runtime.feature/feature.xml
index c9c443731107b..61fe619dd83d2 100644
--- a/features/org.openhab.runtime.feature/feature.xml
+++ b/features/org.openhab.runtime.feature/feature.xml
@@ -559,6 +559,13 @@
version="0.0.0"
unpack="false"/>
+
+
+
+
diff --git a/products/org.openhab.runtime.product/org.openhab.runtime.product.product b/products/org.openhab.runtime.product/org.openhab.runtime.product.product
index 2cf3ad2655656..2e983477643ce 100644
--- a/products/org.openhab.runtime.product/org.openhab.runtime.product.product
+++ b/products/org.openhab.runtime.product/org.openhab.runtime.product.product
@@ -8,7 +8,7 @@
-console
- -Declipse.ignoreApp=true -Dosgi.noShutdown=true -D32 -Dorg.osgi.service.http.port=8080 -Dsmarthome.configfile=../configurations/openhab.cfg -Dlogback.configurationFile=../configurations/logback.xml -Djava.library.path=../lib -Djetty.home.bundle=org.eclipse.jetty.osgi.boot -DmdnsName=openhab
+ -Declipse.ignoreApp=true -Dosgi.noShutdown=true -D32 -Dorg.osgi.service.http.port=8080 -Dsmarthome.configfile=../configurations/openhab.cfg -Dlogback.configurationFile=../configurations/logback.xml -Djava.library.path=../lib -Djetty.home.bundle=org.openhab.io.jetty -DmdnsName=openhab
-XstartOnFirstThread -Dorg.eclipse.swt.internal.carbon.smallFonts
diff --git a/targetplatform/openHAB_Runtime.launch b/targetplatform/openHAB_Runtime.launch
index 65375fe5bb69c..723b71098079d 100644
--- a/targetplatform/openHAB_Runtime.launch
+++ b/targetplatform/openHAB_Runtime.launch
@@ -17,13 +17,13 @@
-
+
-
-
+
+