W watku, kt. stanie sie slawny, a mianowicie http://www.rubyonrails.pl/forum/t889-prosze-o-pomoc-poczatkujacemu padlo stwierdzenie, ze mongrel jest inny niz wszystkie serwery.
Otoz, przyklad ze swiata java - Jetty.
[code]Handler handler=new AbstractHandler()
{
public void handle(String target, HttpServletRequest request, HttpServletResponse response, int dispatch)
throws IOException, ServletException
{
response.setContentType(“text/html”);
response.setStatus(HttpServletResponse.SC_OK);
response.getWriter().println(“
Hello
”);((Request)request).setHandled(true);
}
};
Server server = new Server(8080);
server.setHandler(handler);
server.start();[/code]
Mongrel nie jest wcale osamotniony. Czy slowa ‘stand-alone’ i ‘embedded’ wywoluja jakies skojarzenia? Tomcata tez mozna odpalic w podobny sposob. Projekty takie jak Wicket, Rife, Trails wykorzystuja ten fakt (pewnie inne tez, ale dawno nie mialem stycznosci z java), sa pluginy-launchery do anta czy mavena.
Mongrel dziala tylko jako ‘embedded’, czyli jest zawsze wbudowany w konkretna instancje aplikacji (czy to prosty skrypt ruby, czy aplikacja oparta na jakims frameworku) - ale jest pelnoprawnym serwerem.