Advertisement
Guest User

Untitled

a guest
Jul 8th, 2016
91
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.17 KB | None | 0 0
  1. public class Login extends HttpServlet {
  2. private static final long serialVersionUID = 1L;
  3. private static final Logger log = LogManager.getLogger();
  4.  
  5. /**
  6. * @see HttpServlet#HttpServlet()
  7. */
  8. public Login() {
  9. super();
  10. }
  11.  
  12. @SuppressWarnings("unchecked")
  13. public void init(){
  14.  
  15.  
  16. Map<String, User> DB = null;
  17.  
  18. if (this.getServletContext().getAttribute("DB") == null){
  19.  
  20. DB = new HashMap<String, User>();
  21.  
  22. User user1 = new User("user1", "pass1");
  23. user1.setFullName("The User 1");
  24. User user2 = new User("user2", "pass2");
  25. user2.setFullName("The User 2");
  26.  
  27. DB.put("user1", user1);
  28. DB.put("user2", user2);
  29.  
  30. log.debug("The following users have been added to the database: " + user1.getUsername() + " " + user2.getUsername());
  31.  
  32. } else {
  33.  
  34. DB = (HashMap<String, User>) this.getServletContext().getAttribute("DB");
  35.  
  36. }
  37.  
  38. if (DB.isEmpty()){
  39. log.info("No Users");
  40. }
  41.  
  42. log.info("Usuarios en DB {}", DB.keySet());
  43. }
  44.  
  45. protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
  46.  
  47. if (request.getSession(true).getAttribute("user") != null){
  48.  
  49. request.getRequestDispatcher("/WEB-INF/views/session.jsp").forward(request, response);
  50.  
  51. } else {
  52. doPost(request,response);
  53. }
  54. }
  55.  
  56. protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
  57. List<String> errors = new ArrayList<String>();
  58.  
  59.  
  60. if (request.getParameter("inputUsername") != null && request.getParameter("inputPassword") != null ){
  61.  
  62. String username = request.getParameter("inputUsername");
  63. String password = request.getParameter("inputPassword");
  64.  
  65. if (username != null || password != null) {
  66. log.info("Autentificando a {}", username);
  67. }
  68. //This is the line where I get the second NullPointerException
  69. User user = login(username, password);
  70.  
  71. if (user != null){
  72.  
  73. request.getSession(true).setAttribute("user", user.getUsername());
  74.  
  75. Cookie fullName = new Cookie("fullName", user.getFullName());
  76. response.addCookie(fullName);
  77.  
  78. } else{
  79. log.error("Invalid username or password.");
  80. errors.add("Invalid username or password.");
  81. request.setAttribute("errors", errors);
  82. request.getRequestDispatcher("/WEB-INF/views/login.jsp").forward(request, response);
  83. }
  84. } else {
  85.  
  86. log.warn("You must login first");
  87. errors.add("You must login first.");
  88.  
  89. request.getRequestDispatcher("/WEB-INF/views/login.jsp").forward(request, response);
  90. }
  91. }
  92.  
  93. private User login(String username, String password){
  94.  
  95.  
  96. if (username == null || password == null){
  97.  
  98. return null;
  99. }
  100.  
  101. HashMap<String, User> DB = null;
  102. DB = (HashMap<String, User>) getServletContext().getAttribute("DB");
  103.  
  104. User user = (User) DB.get(username);
  105.  
  106.  
  107. if (user == null){
  108.  
  109. return null;
  110. }
  111.  
  112. if (!user.getPassword().equals(password.trim())){
  113.  
  114. return null;
  115. }
  116.  
  117. return user;
  118.  
  119. }
  120.  
  121. User user = login(username, password);
  122.  
  123. User user = (User) DB.get(username);
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement