Войти и зарегистрироваться с помощью связанного списка - невозможно получить доступ к объекту, созданному из другого сервлета - PullRequest
0 голосов
/ 12 апреля 2020

Я создал две страницы сервлета. Первая страница сервлета - это RegistrationServlet, а вторая страница сервлета - это LoginServlet, и я создал объект для связанного списка, чтобы вызывать его из другого сервлета, но я не могу вызвать этот объект.

     protected void doPost(HttpServletRequest request, HttpServletResponse response)
        throws ServletException, IOException {
    processRequest(request, response);

    String name,email,pass;

    name=request.getParameter("un");
    email = request.getParameter("em");
    pass = request.getParameter("pass");

    LinkedList<String> a1=new LinkedList();  
    a1.add(name);
     a1.add(pass);

    if (!name.isEmpty() && !email.isEmpty() && !pass.isEmpty()) {
      RequestDispatcher rd=getServletContext().getRequestDispatcher("/Login.html");
        rd.forward(request, response);

        request.getSession().setAttribute("someone", a1);
     request.getRequestDispatcher("LoginServlet").forward(request, response);
    } else {
        RequestDispatcher rd1 = getServletContext().getRequestDispatcher("/Register.html");
        rd1.include(request, response);
    }   
    }

    Other Servlet---------------------------------------
    protected void doPost(HttpServletRequest request, HttpServletResponse response) 
        throws ServletException, IOException  {
    processRequest(request, response);
    String email = request.getParameter("eml");
        String pass = request.getParameter("pass");


        object fg;
    fg = request.getSession().getAttribute("someone");


     if(email.equals(fg.a1.get(0)) && pass.equals(fg.a1.get(1)))
    {
     System.out.println("sucess");

     }
      else{
        System.out.println("not");

      }   
     }

1 Ответ

0 голосов
/ 12 апреля 2020

Вы помещаете список в сессию с помощью этой команды: request.getSession (). SetAttribute ("somebody", a1); «a1» - это имя переменной, которое не заносится в сессию. Значение, заданное request.getSession (). GetAttribute ("somebody"), должно иметь тип List. Этот объект не имеет поля 'a1'. Таким образом, чтобы получить элемент из этого списка, вы должны написать fg.get (0), а не fg.a1.get (0).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...