Rajendra, I don't want to be rude but JavaRanch is not a code mill. What you are asking is for quite a bit of work for someone. Have you looked through the example applicaitons Struts and Hibernate offer on their sites/with their code?
I've provided the URL down into the persistency layer, which I don't organize in quite this way anymore. You can see the rest of the app by walking uphill from there. This is a Maven-built application, so it has Maven's (un)usual directory structure, plus the additional quirks from being stored in a Subversion repository.
As far as the application itself goes, there are 2 ways to handle ORM in webapps. One - very popular - way is to use a filter to ensure that the persistence manager is open and connected to all objects from the time the request arrives until the final byte of the reponse is written out (or close enough not to matter).
I consider that cheating. It allows you to make lazy fetches, but it also encourages lazy coding. So I don't use it. In consequence, all transactions are atomic at the dao/service level, and if you decide that you needed more data, you have to go back and get it. An unfortunate side-effect of that is that when you reconnect an object, it doesn't literally reconnect. It effectively creates a whole new copy of that object and returns that. This can be a real annoyance when processing objects that are in collections, as it means that the collection has to be updated as well. This app has a lot of interconnected objects fetched a lot of different ways, and some of it got pretty ugly. Such is life in the Real World when youu don't have good guidance.
I've never seen a formal definition, but my own is that a DAO is basically a "service" for interacting with a single table, and a Service is something that interacts with a set of interrelated tables. Since so much of what I do is service-related, I've pretty much abandoned straight DAOs, but there's a legacy in this sample.
As I said, this is my sandbox, so it's not as neat and tidy as an academic sample. But it's a good example of how real-world projects can be.
Being persecuted doesn't in any way prove your righteousness or your beliefs. Many people get persecuted because they are repugnant or annoying. Or just because they can be.
If I'd had more time, I would have written a shorter letter. -T.S. Eliot such a short, tiny ad: