Prosty autonomiczny kontener / framework serwera Java?

Przez ostatnie kilka lat miałem głowę w Pythonie, gdzie istnieje wiele możliwości wyboru prostych, minimalnych ram, które pozwalają mi łatwo utworzyć stronę lub usługę (np. Web.py). Szukam czegoś podobnego w Javie.

Jaki jest najprostszy, najmniej poruszający się sposób wstawiania prostych usług korzystających obecnie z Javy? Szukam czegoś tak prostego jak:

możliwość odbierania żądań HTTPmożliwość wysyłania tych żądań do programów obsługi (najlepiej url do wyrażenia regularnego w oparciu o wyrażenia obsługi)możliwość ustawiania nagłówków HTTP i ogólnie w pełni kontrolować żądanie / odpowiedź

Dodatkowe punkty, jeśli struktura działa dobrze z Jythonem.

[Aktualizacja] Dzięki za odpowiedzi, niektóre z nich wyglądają całkiem interesująco. Jednak nie widzę w nich możliwości wysyłania adresu URL. Szukam czegoś podobnego do systemu url.py Django, który wygląda tak:

urlpatterns = patterns('',
    (r'^articles/2003/$', 'news.views.special_case_2003'),
    (r'^articles/(\d{4})/$', 'news.views.year_archive'),
    (r'^articles/(\d{4})/(\d{2})/$', 'news.views.month_archive'),
    (r'^articles/(\d{4})/(\d{2})/(\d+)/$', 'news.views.article_detail'),
)

Gdzie określasz wyrażenie regularne url wraz z obsługą, która go obsługuje.