/mvc03/src/org/usp/dropbox/servlets/UserServlet.java

https://github.com/mateusbpontes/scc263 · Java · 120 lines · 102 code · 12 blank · 6 comment · 12 complexity · da751aa409f414b333d252bf249114b8 MD5 · raw file

  1. package org.usp.dropbox.servlets;
  2. import java.io.*;
  3. import javax.servlet.*;
  4. import javax.servlet.jsp.*;
  5. import javax.servlet.http.*;
  6. import org.usp.dropbox.db.*;
  7. import org.usp.dropbox.core.*;
  8. import org.usp.dropbox.config.*;
  9. public class UserServlet extends HttpServlet implements Default {
  10. public void doGet(HttpServletRequest request,
  11. HttpServletResponse response)
  12. throws ServletException, java.io.IOException {
  13. String targetUrl = null;
  14. try {
  15. // redirecionar de forma forcada
  16. PageContext pageContext =
  17. JspFactory.getDefaultFactory().
  18. getPageContext(this, request, response,
  19. null, true, 8192, true);
  20. HttpSession session = request.getSession();
  21. PrintWriter out = response.getWriter();
  22. int type = -1;
  23. try {
  24. type =
  25. Integer.parseInt(request.getParameter("type"));
  26. } catch (Exception e) {
  27. targetUrl = "message.jsp?msg=0";
  28. response.sendRedirect(targetUrl);
  29. }
  30. String email = request.getParameter("email");
  31. String password = request.getParameter("password");
  32. String name = request.getParameter("name");
  33. // freespace, space
  34. User user = null;
  35. Database db = null;
  36. switch (type) {
  37. case CONFIRMLOGIN:
  38. user = (User) session.getAttribute("user");
  39. db = DBManager.getInstance().
  40. getDatabase();
  41. if ((user == null) ||
  42. (user != null && User.findByEmailPassword(
  43. db,
  44. user.getEmail(),
  45. user.getPassword()) == null)) {
  46. targetUrl = "index.jsp";
  47. }
  48. DBManager.getInstance().
  49. closeDatabase(db);
  50. if (targetUrl != null) {
  51. pageContext.forward(targetUrl);
  52. return;
  53. //response.sendRedirect(targetUrl);
  54. }
  55. break;
  56. case INSERT:
  57. user = new User();
  58. user.setEmail(email);
  59. user.setPassword(password);
  60. user.setName(name);
  61. user.insert();
  62. targetUrl = "message.jsp?msg=2";
  63. break;
  64. case LOGIN:
  65. db = DBManager.getInstance().
  66. getDatabase();
  67. user = User.findByEmailPassword(
  68. db,
  69. email,
  70. password);
  71. if (user == null) {
  72. targetUrl =
  73. "message.jsp?msg=3";
  74. } else {
  75. session.setAttribute(
  76. "user",
  77. user
  78. );
  79. targetUrl = "dropbox.jsp?iparent="
  80. +user.getINode();
  81. }
  82. DBManager.getInstance().
  83. closeDatabase(db);
  84. break;
  85. case LOGOUT:
  86. session.invalidate();
  87. targetUrl = "index.jsp";
  88. break;
  89. default:
  90. targetUrl = "message.jsp?msg=404";
  91. break;
  92. }
  93. } catch (Exception e) {
  94. e.printStackTrace();
  95. targetUrl = "message.jsp?msg=-1";
  96. } finally {
  97. response.sendRedirect(targetUrl);
  98. }
  99. }
  100. public void doPost(HttpServletRequest request,
  101. HttpServletResponse response)
  102. throws ServletException, java.io.IOException {
  103. doGet(request, response);
  104. }
  105. // doHead
  106. // doPut
  107. // service
  108. }