and yet they are needed.

The second one is to restore servlet support in the child context (the two contexts have to have different envs, which happens by default, but here since we're explicit with one, we need to be with the other). Maybe there is another way, but my discussion with @dsyer drew me to this conclusion