Imagine the following setup:
- There are static files stored under the servlet context in the helloworld folder
- there is a servlet mapped to /hello/*
- there is a filter configured to match /helloworld/index.html
For some reason with this set up the end result is that when I request /helloworld or /helloworld/index.html then the servlet is displayed instead of my static files (note that welcome-file-list was configured for index.html). As /hello/* really shouldn't match /helloworld I can only think that this is a bug in wildfly, possibly somewhere in undertow.
Oddly enough, once the filter mapping is removed, suddenly the static file is served correctly, so the filter must have some role in this issue.