There's not enough info in your post to pinpoint the problem. I've whipped up a small example based on your code, and it runs with no problems:
Server server = new Server(8080);
HandlerCollection handlers_ = new HandlerCollection(true);
ContextHandlerCollection chc_ = new ContextHandlerCollection();
String path = "/blah";
WebAppContext context =
new WebAppContext(chc_, "/path/to/distro/demo-base/webapps/test.war", path);
//needed for the test webapp
HashLoginService loginService = new HashLoginService();
loginService.setName( "Test Realm" );
loginService.setConfig( "/path/to/distro/demo-base/etc/realm.properties" );
server.addBean( loginService );
chc_.addHandler(context);
context.setContextPath(path);
String servletPath = "/blah/*";
Servlet servlet = new HelloServlet("blah-hello");
ServletHolder servletHolder = new ServletHolder(servlet);
context.addServlet(servletHolder, servletPath);
handlers_.setHandlers(new Handler[] { chc_, new DefaultHandler()});
server.setHandler(handlers_);
server.start();
server.join();
In the absence of more info, I can only suggest that you turn on full debug to give a clue. Maybe also try a server.setDumpAfterStart(true) as well to see more.