
Povoluje MVC používat dao objekty v servletech?
Ahoj, povoluje MVC používat dao objekty v servletech?
Takhle:
@WebServlet("/test")
public class Servlet_testPage extends AbstractServlet {
private UserDao userDao;
@Autowired
public void setDonutekSWDao(UserDao userDao) {
this.userDao= userDao;
}
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
DonutekSW lastItem = userDao.findLastItem();
req.setAttribute("lastVersion", lastItem.getId());
req.getRequestDispatcher("/WEB-INF/pages/home/neco.jsp").forward(req, resp);
}
}
Nebo to musím prohnat nějaký managerem?
Díky za radu.
Krátka odpoveď: Áno, môžeš používať DAO objekty v servletoch.
Dlhšia odpoveď: V prvom rade MVC so servletmi nemá mnoho spoločného. Teda vlastne len to, že keď chceš implementovať MVC aplikáciu, aby si ju mohol spúšťať v kontajneroch podporujúcich Java Servlet API, tak musíš implementovať servlet. Tento servlet je vlastne taký front controller. V Spring MVC je už takýto servlet implementovaný (DispatcherServlet) a implementuješ už len kontrolery.
DAO v servletech nikdy! Vzdy pres servisni vrstvu, na ktere si poresis transakce.