Prashanth - just one thing - what's the method you're using to register ExampleServlet?
Because according to HttpService and Whiteboard specifications, there's no "default" servlet registered. See - in Karaf 4.4.2, I've installed hawtio application (mvn:io.hawt/hawtio-osgi/2.15.0/war) and this "showcase" bundle from Pax Web: karaf@root()> install mvn:org.ops4j.pax.web.samples/showcase/8.0.11 Bundle ID: 79 karaf@root()> start 79 karaf@root()> sample:whiteboard servlet s1 /s1/* >> Using context for bundle org.ops4j.pax.web.samples.showcase [79] >> Registering a servlet with "s1" name, "/s1/*" pattern, "( osgi.http.whiteboard.context.name=default)" context selector and for org.ops4j.pax.web.samples.showcase [79]. >>>> Registered successfully. You can test it using `curl -i http://127.0.0.1:8181/s1/anything` karaf@root()> web:servlet-list Bundle ID │ Name │ Class │ Context Path(s) │ URLs │ Type │ Context Filter ──────────┼───────────────┼───────────────────────────────────────────────────────────────────┼─────────────────┼──────────────┼────────────┼──────────────────────────────────────────── 75 │ default │ org.ops4j.pax.web.service.jetty.internal.web.JettyResourceServlet │ /hawtio │ / │ WAB │ - 75 │ jolokia-agent │ io.hawt.web.servlets.JolokiaConfiguredAgentServlet │ /hawtio │ /jolokia/* │ WAB │ - 75 │ jolokia-proxy │ io.hawt.web.proxy.ProxyServlet │ /hawtio │ /proxy/* │ WAB │ - 75 │ keycloak │ io.hawt.web.auth.keycloak.KeycloakServlet │ /hawtio │ /keycloak/* │ WAB │ - 75 │ login │ io.hawt.web.auth.LoginServlet │ /hawtio │ /auth/login │ WAB │ - 75 │ logout │ io.hawt.web.auth.LogoutServlet │ /hawtio │ /auth/logout │ WAB │ - 75 │ plugin │ io.hawt.web.plugin.PluginServlet │ /hawtio │ /plugin/* │ WAB │ - 75 │ user │ io.hawt.web.auth.keycloak.KeycloakUserServlet │ /hawtio │ /user/* │ WAB │ - 79 │ s1 │ org.ops4j.pax.web.samples.config.commands.web.TestServlet │ / │ /s1/* │ Whiteboard │ (osgi.http.whiteboard.context.name =default) And there's no "defaul" servlet in "/" context. "default" servlet is installed by default only for WAB scenarios (WAR). regards Grzegorz Grzybek pon., 14 lis 2022 o 15:05 Grzegorz Grzybek <gr.grzy...@gmail.com> napisał(a): > Hello > > There were a lot of changes in Pax Web 8 and in previous versions, > getNamedDispatch() was simply delegated to underlying web server. Now the > servlet context is always OSGi-specific and there indeed may be something > missing. > > I've created https://github.com/ops4j/org.ops4j.pax.web/issues/1794 to > track this problem - please give me ~1 day to find the reason of the > problem. > > kind regards > Grzegorz Grzybek > > pon., 14 lis 2022 o 14:56 Prashanth Ettaboina > <prashanth.ettabo...@motivitylabs.com.invalid> napisał(a): > >> Hi Team, >> >> I have updated my KARAF version from 4.2.15 to 4.4.1 and Java from 8 to >> 11 in my application. >> Gone through the official Release notes and updated some dependencies as >> well. >> >> Upgraded OSGI-Core from 6.0.0 to 8.0.0. >> Upgraded osgi.compendium 5.0.0 to osgi.cmpn 7.0.0 >> Upgraded Jetty from 9.4.43.v20210629 to 9.4.46.v20220331. >> Upgraded pax-web-spi from 4.3.4 to 7.2.11. >> I'm using javax.servlet-api 3.1.0 version in my application. >> >> I'm unable to create default RequestDispatcher. >> Please check the below code lines. >> >> public class ExampleServlet extends HttpServlet { >> protected void doGet(HttpServletRequest request, >> HttpServletResponse response) throws ServletException, IOException { >> RequestDispatcher requestDispatcher = >> getServletContext().getNamedDispatcher("default"); // get >> getServletContext() is calling the method in GenericServlet. >> requestDispatcher.include(request, response); >> } >> } >> >> the above code used to work fine before the version upgrades but now I'm >> getting the requestDispatcher as null. >> >> Can anyone please look at it, let me know if I'm missing something. >> >> Thanks, >> Prashanth Ettaboina >> >> >> >>