|
13.12.2012, 11:19:29
#38077197
Ссылка:
Ссылка на сообщение:
Ссылка с названием темы:
|
|
|
|
web.xml
1. 2. 3. 4. 5.
<listener>
<listener-class>
com.modelingagency.listeners.CustomServletContextListener
</listener-class>
</listener>
Listener class
1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32.
import java.io.Reader;
import javax.servlet.ServletContext;
import javax.servlet.ServletContextEvent;
import javax.servlet.ServletContextListener;
import org.apache.ibatis.io.Resources;
import org.apache.ibatis.session.SqlSessionFactory;
import org.apache.ibatis.session.SqlSessionFactoryBuilder;
public class CustomServletContextListener implements ServletContextListener
{
public void contextInitialized(ServletContextEvent event)
{
ServletContext ctx = event.getServletContext();
String resource = "mybatis.config.xml";
try{
Reader reader = Resources.getResourceAsReader(resource);
SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(reader);
ctx.setAttribute("sqlSessionFactory", sqlSessionFactory);
}
catch(Exception e){
System.out.println("FATAL ERROR: myBatis could not be initialized");
System.exit(1);
}
}
@Override
public void contextDestroyed(ServletContextEvent event){
//nothing to do here right now
}
}
TestServlet
1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62.
import java.io.IOException;
import java.util.ArrayList;
import javax.servlet.RequestDispatcher;
import javax.servlet.ServletContext;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
import org.apache.ibatis.exceptions.PersistenceException;
import org.apache.ibatis.session.SqlSessionFactory;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import com.modelingagency.db.ModelingAgencyDAO;
import com.modelingagency.objects.*;
public class TestServlet extends HttpServlet{
private static Logger log = LoggerFactory.getLogger(TestServlet.class);
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException
{
HttpSession session = request.getSession();
ServletContext sc = getServletContext();
SqlSessionFactory sf = (SqlSessionFactory)getServletContext().getAttribute("sqlSessionFactory");
ModelingAgencyDAO dao = new ModelingAgencyDAO(sf);
try
{
ArrayList<Client> clients = dao.getClients();
log.info("Client size: " + clients.size());
ArrayList<Model> models = dao.getModels();
ArrayList<Booking> bookings = dao.getBookings();
request.setAttribute("all_clients", clients);
request.setAttribute("all_models", models);
request.setAttribute("all_bookings", bookings);
}
catch(PersistenceException p)
{
p.printStackTrace();
}
finally
{
request.setAttribute("message","Welcome to the modeling agency MyBatis tutorial");
log.info("The message attribute has been set");
}
RequestDispatcher view = request.getRequestDispatcher("index.jsp");
view.forward(request, response);
}
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
doPost(request,response);
}
}
|
|
|