CherryPy claims:

> 
> Your CherryPy powered web applications
>  are in fact stand-alone Python
>  applications embedding their own
>  multi-threaded web server. You can
>  deploy them anywhere you can run
>  Python applications. Apache is not
>  required, but it's possible to run a
>  CherryPy application behind it (or
>  lighttpd, or IIS). CherryPy
>  applications run on Windows, Linux,
>  Mac OS X and any other platform
>  supporting Python.
> 
> 
> 

Having come from PHP and wanting to learn Python, I came upon [a thread here in SO](https://stackoverflow.com/questions/213483/a-good-multithreaded-python-webserver) while looking for a webserver I can setup to start Python web development. However, after almost googling myself to death, I can't still find one. I came across entries like "Django has its own lightweight webserver" and the aforementioned Cherrypy.

What I am confused about is this :I was used to using XAMPP, where I have a web server, a database server and my application and I can't visualize the idea of a "web server inside the application itself". How do I connect to my database server then? How do I configure stuff like custom urls and directory protection (much like what I do in Apache)?

Thanks in advance guys!