Have pulled the majority of the header settings out into filters and interceptors, but it isn't working perfectly so will change soon.
Have moved the file header adding into the new FileHttpMessageConverter which works much better.
Added unit tests for the FileHttpMessageConverter.
Updated the FilesRoutingController so that it adds a file as a request attribute instead of the absolute path.
Updated the FileController to use the custom smt File type.
Removed some copy repetition around getting an attribute from the request object.
Created a new RangeFile and RangeFileHttpMessageConverter that now adds back support for single Range partial HTTP requests.
Moved all the servlet and Spring specific classes into their own packages.