what you need here is what is called a separation of concerns. you have to isolate your components from each other which will make your design more flexible in case of change for example.
your servlet doesn't have to instantiate your daos. It more likely have to be done in another "class" representing your business process.
also it seems combersome for the servlet to open connections, open and close resultsets and so on, these operation have to be done in another Pojo which is responsible for them. Think of the single responsibility principle.
and as mentionned above, clearly you have to use a serviceLocator for JNDI.