diff --git a/collects/web-server/scribblings/faq.scrbl b/collects/web-server/scribblings/faq.scrbl index 5cc10d18da..1c1c31d6ca 100644 --- a/collects/web-server/scribblings/faq.scrbl +++ b/collects/web-server/scribblings/faq.scrbl @@ -1,8 +1,20 @@ #lang scribble/doc @(require "web-server.ss") +@(require (for-label web-server/dispatchers/dispatch-servlets)) @title{Troubleshooting and Tips} +@section{Why are my servlets not updating on the server when I change the code on disk?} + +By default, the server uses @scheme[make-cached-url->servlet] to load servlets +from the disk. As it loads them, they are cached and the disk is not referred to for future +requests. This ensures that there is a single namespace for each servlet, so that different instances +can share resources, such as database connections, and communicate through the store. The default +configuration of the server (meaning the dispatcher sequence used when you load a configuration file) +provides a special URL to localhost that will reset the cache: @filepath{/conf/refresh-servlets}. If +you want the server to reload your changed servlet code, then GET this URL and the server will reload the +servlet on the next request. + @section{What special considerations are there for security with the Web Server?} The biggest problem is that a naive usage of continuations will allow continuations to subvert