Advertisement
Guest User

Untitled

a guest
Sep 25th, 2017
64
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 6.48 KB | None | 0 0
  1. package Control;
  2.  
  3. import data.CupcakeLoginService;
  4. import data.DataMapper;
  5. import java.io.IOException;
  6. import java.io.PrintWriter;
  7. import java.sql.SQLException;
  8. import java.util.logging.Level;
  9. import java.util.logging.Logger;
  10. import javax.servlet.RequestDispatcher;
  11. import javax.servlet.ServletException;
  12. import javax.servlet.annotation.WebServlet;
  13. import javax.servlet.http.HttpServlet;
  14. import javax.servlet.http.HttpServletRequest;
  15. import javax.servlet.http.HttpServletResponse;
  16. import model.User;
  17.  
  18. /**
  19. *
  20. * @author Arne
  21. */
  22. @WebServlet(urlPatterns
  23. = {
  24. "/Cupcake"
  25. })
  26. public class CupcakeServlet extends HttpServlet {
  27.  
  28. DataMapper dm = new DataMapper();
  29.  
  30. protected void processRequest(HttpServletRequest request, HttpServletResponse response)
  31. throws ServletException, IOException {
  32.  
  33. User u = dm.getUser(request.getParameter("username"));
  34.  
  35. request.setAttribute("user", u);
  36.  
  37. CupcakeLoginService loginService = new CupcakeLoginService();
  38. response.setContentType("text/html;charset=UTF-8");
  39. String action = request.getParameter("action");
  40. if ("login".equals(action)) {
  41. String username = request.getParameter("username");
  42. String password = request.getParameter("password");
  43. User user = loginService.login(username, password);
  44. if (user == null) {
  45.  
  46. sendLoginForm(request, response);
  47. return;
  48. }
  49. sendFrontPage(request, response);
  50. sendMainPage(request, response);
  51. return;
  52. }
  53.  
  54. if ("logout".equals(action)) {
  55. request.removeAttribute("username");
  56. request.getSession().invalidate();
  57. }
  58. // sendFrontPage(request,response);
  59.  
  60. if ("FrontPage".equals(action)) {
  61. sendFrontPage(request, response);
  62. return;
  63. }
  64.  
  65. // register user
  66. User user = (User) request.getSession().getAttribute("user");
  67. if ("register".equals(action)) {
  68. String username = request.getParameter("registerUsername");
  69. String password = request.getParameter("registerPassword");
  70. boolean admin = Boolean.parseBoolean(request.getParameter("admin"));
  71. int userId = Integer.parseInt(request.getParameter("registeruserId"));
  72. int balance = Integer.parseInt(request.getParameter("balance"));
  73. String email = request.getParameter("registerEmail");
  74.  
  75. dm.checkUsername(username);
  76. dm.registerUser(username, password, admin, userId, balance, email);
  77. user = dm.getUser(username);
  78. request.setAttribute("user", user);
  79.  
  80. if (user == null) {
  81. //registration fail
  82. sendRegisterForm(request, response);
  83. } else {
  84. // request.getSession().setAttribute("username", user.getUsername());
  85. // sendFrontPage(request, response);
  86. sendMainPage(request, response);
  87. }
  88.  
  89. }
  90. if ("Sign up".equals(action)) {
  91. request.removeAttribute("username");
  92. request.getSession().invalidate();
  93. }
  94. if (user == null) {
  95. //Login Fail
  96. sendLoginForm(request, response);
  97. }
  98. if (action == null) {
  99. sendFrontPage(request, response);
  100. }
  101. }
  102.  
  103.  
  104. // <editor-fold defaultstate="collapsed" desc="HttpServlet methods. Click on the + sign on the left to edit the code.">
  105. /**
  106. * Handles the HTTP <code>GET</code> method.
  107. *
  108. * @param request servlet request
  109. * @param response servlet response
  110. * @throws ServletException if a servlet-specific error occurs
  111. * @throws IOException if an I/O error occurs
  112. */
  113. @Override
  114. protected void doGet(HttpServletRequest request, HttpServletResponse response)
  115. throws ServletException, IOException {
  116. processRequest(request, response);
  117. }
  118.  
  119. /**
  120. * Handles the HTTP <code>POST</code> method.
  121. *
  122. * @param request servlet request
  123. * @param response servlet response
  124. * @throws ServletException if a servlet-specific error occurs
  125. * @throws IOException if an I/O error occurs
  126. */
  127. @Override
  128. protected void doPost(HttpServletRequest request, HttpServletResponse response)
  129. throws ServletException, IOException {
  130. processRequest(request, response);
  131. }
  132.  
  133. /**
  134. * Returns a short description of the servlet.
  135. *
  136. * @return a String containing servlet description
  137. */
  138. @Override
  139. public String getServletInfo() {
  140. return "Short description";
  141. }// </editor-fold>
  142.  
  143. private void sendLoginForm(HttpServletRequest request, HttpServletResponse response) throws IOException {
  144. try (PrintWriter out = response.getWriter()) {
  145. try {
  146. RequestDispatcher rd = request.getRequestDispatcher("login.jsp");
  147. rd.forward(request, response);
  148.  
  149. } catch (IOException | ServletException e) {
  150. e.getMessage();
  151. }
  152. }
  153. }
  154.  
  155. private void sendFrontPage(HttpServletRequest request, HttpServletResponse response) {
  156. try {
  157.  
  158. RequestDispatcher rd = request.getRequestDispatcher("shop.jsp");
  159. rd.forward(request, response);
  160.  
  161. } catch (IOException | ServletException e) {
  162. e.getMessage();
  163. }
  164. }
  165.  
  166. private void sendRegisterForm(HttpServletRequest request, HttpServletResponse response) {
  167. try {
  168. RequestDispatcher rd = request.getRequestDispatcher("signup.jsp");
  169. rd.forward(request, response);
  170.  
  171. } catch (IOException | ServletException e) {
  172. e.getMessage();
  173. }
  174. }
  175.  
  176. private void sendMainPage(HttpServletRequest request, HttpServletResponse response) throws IOException {
  177. try (PrintWriter out = response.getWriter()) {
  178. try {
  179. RequestDispatcher rd = request.getRequestDispatcher("login.jsp");
  180. rd.forward(request, response);
  181. //request.getSession().invalidate();
  182.  
  183. } catch (IOException | ServletException e) {
  184. e.getMessage();
  185. }
  186. }
  187. }
  188. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement