Wicket
  1. Wicket
  2. WICKET-4350

Add more programmatic support for web app construction via servlet 3.0

    Details

    • Type: Improvement Improvement
    • Status: Resolved
    • Priority: Minor Minor
    • Resolution: Fixed
    • Affects Version/s: 1.5.4, 6.0.0-beta1
    • Fix Version/s: 1.5.5, 6.0.0-beta1
    • Component/s: wicket
    • Labels:
      None

      Description

      Since servlet 3.0 web applications can be set up completely in code.

      To support this kind of setup wicket should

      • support the manual assignment of an web application instance to WicketFilter
      • support setting the runtime configuration type in WebApplication programmtically through a setter instead of reading web.xml

      sample code for demonstrating the use case:

      public class AppContextListener implements ServletContextListener
      {
      private GuiceContext guiceContext;

      @Override
      public void contextInitialized(ServletContextEvent sce)

      { // create configuration final AppConfig configuration = new WebAppConfig(); // setup guice guiceContext = new GuiceContext(configuration); // create injector final Injector injector = guiceContext.createInjector(); // create wicket application WebApplication application = injector.getInstance(WebApplication.class); application.setConfigurationType(RuntimeConfigurationType.DEVELOPMENT); // create wicket filter WicketFilter filter = new WicketFilter(application); filter.setFilterPath(""); // dynamically add wicket filter final FilterRegistration.Dynamic wicket = sce.getServletContext().addFilter("wicket", filter); // add filter mapping for path '/' wicket.addMappingForUrlPatterns(EnumSet.allOf(DispatcherType.class), true, "/*"); }

      // ...
      }

      1. Initializer.java
        1 kB
        Martin Grigorov
      2. javax.servlet.ServletContainerInitializer
        0.0 kB
        Martin Grigorov
      3. Start.java
        2 kB
        Martin Grigorov

        Activity

          People

          • Assignee:
            Peter Ertl
            Reporter:
            Peter Ertl
          • Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

            Dates

            • Created:
              Updated:
              Resolved:

              Development