This week's book giveaway is in the OCPJP forum.
We're giving away four copies of OCA/OCP Java SE 7 Programmer I & II Study Guide and have Kathy Sierra & Bert Bates on-line!
See this thread for details.
The moose likes Servlets and the fly likes Separate classes for each features. Is it a MVC? Big Moose Saloon
  Search | Java FAQ | Recent Topics | Flagged Topics | Hot Topics | Zero Replies
Register / Login


Win a copy of OCA/OCP Java SE 7 Programmer I & II Study Guide this week in the OCPJP forum!
JavaRanch » Java Forums » Java » Servlets
Bookmark "Separate classes for each features. Is it a MVC?" Watch "Separate classes for each features. Is it a MVC?" New topic
Author

Separate classes for each features. Is it a MVC?

Kunal Lakhani
Ranch Hand

Joined: Jun 05, 2010
Posts: 622
Hello

I have created a login, register and query features. I am using Hibernate for persisting the data. But i have created Separate classes for each features, like LoginServlet.java, LoginDao.java, RegisterServlet, RegisterDao, QueryServlet, QueryDao. But I have also created different package for Servlet classes, and Dao classes. Is that ok? I guess that's not a perfect MVC. What all problems can i face in future as per this style of coding?


kunal
Piyush Mangal
Ranch Hand

Joined: Jan 22, 2007
Posts: 196
What you have is a layered architecture where you have decoupled your presentation layer with persistence layer. When you implement an MVC, you need to present your view using JSP, FreeMarker, Velocity etc as well. You servlet should act only as a controller and should not be responsible for preparing the view for your request. It should dispatch the request to a JSP or appropriate view template after getting data from a Model (in your case DAO layer).

As for package structure, you can segregate them either by layer or by functionality and layer.

Layerd Package Structure

com.xyx.web.servlet.LoginServlet
com.xyx.web.servlet.QueryServlet
com.xyx.web.servlet.RegisterServlet
com.xyx.persistence.dao.LoginDao
com.xyx. persistence.dao.QueryDao
com.xyx.persistence.dao.RegisterDao

Segregating based on functionality and layer
com.xyx.login.web.servlet.LoginServlet
com.xyx.login.persistence.dao.LoginDao

com.xyx.query.web.servlet.QueryServlet
com.xyx.query.persistence.dao.QueryDao

com.xyx.register.web.servlet.RegisterServlet
com.xyx.register.persistence.dao.RegisterDao


Kunal Lakhani
Ranch Hand

Joined: Jun 05, 2010
Posts: 622
Thanks for your reply Piyush. Yes, servlets just acts as a controller and dispatches the request to appropriate JSP. i also have a bean package where i have classes like LoginBean.java, RegisterBean.java, QueryBean.java. There is a jsp folder inside WEB_INF. It contains all the jsp files. Any other advices or suggestions.
Prasad Krishnegowda
Ranch Hand

Joined: Apr 25, 2010
Posts: 539

Kunal Lakhani wrote:There is a jsp folder inside WEB_INF.

Please note its WEB-INF, not WEB_INF..
 
 
subject: Separate classes for each features. Is it a MVC?