как перенаправить на новую страницу из сервлета - PullRequest
0 голосов
/ 22 февраля 2019

Я отправляю данные сервлету из login.html, используя сервлет из JQuery в формате json, и после сопоставления записи я хочу открыть новую страницу home.html, а также хочу отправить данные в home.html:

DTORegisteration dto=new DTORegisteration();
        public void doPost(HttpServletRequest req, HttpServletResponse res) throws ServletException, IOException {

        res.setContentType("text/html");
        PrintWriter pw = res.getWriter();
        String id = req.getParameter("id");

        String password = req.getParameter("password");
        System.out.println("id "+id);
        System.out.println("password  "+password);
        dto.setId(id);          
        dto.setPassword(password);
        String str=new ServiceRegisteration().getDetails(dto);
        JSONObject json=new JSONObject();
        if(str.equals("success")) {

           try { json.put("welcome", "welcome"); json.put("name",
           DAORegisteration.name); 
           }catch(JSONException e) { e.printStackTrace(); }
           pw.print(json);



        }
    }

1 Ответ

0 голосов
/ 22 февраля 2019

Метод sendRedirect () интерфейса HttpServletResponse может использоваться для перенаправления ответа на другой ресурс, который может быть файлом сервлета, jsp или html.

 if(check your param values here) { // if its as expected
                res.sendRedirect("home.html");
    } 

На самом деле мы не можем отправить запрос на публикацию с помощью метода sendRedirect (), потому что согласно стандартам редирект должен использовать get.

Вы можете использовать класс RequestDispatcher для пересылки () запросов с параметрами,

eg-

req.setAttribute("Greetings", "Greeting of day");
RequestDispatcher dispatcher = servletContext().getRequestDispatcher("url");
dispatcher.forward(req, res);
...