Serving static assets
The web layer we wrote in the previous chapter was not really complete; we could add some beautiful CSS styles and some cool JavaScript behavior. CSS files, JavaScript files, as well as images do not change once your application is started, so they are usually referred to as
static assets. The most convenient way to serve them is to map a URL path to a directory of your filesystem. Play comes with an Assets controller that does just this. Consider the following route definition:
GET /assets/*file controllers.Assets.at(path = "/public", file)
This route maps the public directory of your application to the assets path of your HTTP layer. This means that, for example, a public/stylesheets/shop.css file is served under the /assets/stylesheets/shop.css URL.
This works because Play automatically adds the public/ directory of your application to the classpath. To use an additional directory as an assets folder, you have to explicitly add it to the application classpath...