I'm new to backend development. I wrote my first HttpServlet, it works fine. My problem, after my code executed, I'd like to forward the user to a detail page. I can see in logs, the forwarded page's codes are executed, but the old jsp is still on screen.
This code is called when the user clicks on a row (select a user)
    private void readUserById(HttpServletRequest request, HttpServletResponse response) {
    int userId = Integer.valueOf(request.getParameter(Prefs.REQUEST_PARAMS_USER_ID_KEY));
    UserDao userDao = new UserDao();
    UserDao.UserDaoResult daoResult = userDao.readUser(userId);
    User user = daoResult.getUser();
    if (user != null) {
        Gson gson = new Gson();
        String userJson = gson.toJson(user);
        request.setAttribute(Prefs.REQUEST_USER_JSON_KEY, userJson);
        try {
            getServletContext().getRequestDispatcher("/userdetails.jsp").forward(request, response);
        } catch (ServletException e) {
            e.printStackTrace();
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}
and this is my userdetail.jsp
<%@ page import="utils.Logger" %>
<%@ page import="com.google.gson.Gson" %>
<%@ page import="model.User" %>
<%@ page import="com.google.gson.reflect.TypeToken" %>
<%@ page import="java.lang.reflect.Type" %><%--
  Created by IntelliJ IDEA.
  User: molnard
  Date: 2017. 06. 14.
  Time: 12:22
  To change this template use File | Settings | File Templates.
--%>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
    <title>User Details</title>
</head>
<body>
<%
    String userJson = request.getAttribute("userJson").toString();
    Logger.logUserDetails(userJson);
    Gson gson = new Gson();
    Type type = new TypeToken<User>() {
    }.getType();
    User user = gson.fromJson(userJson, type);
    Logger.logUserDao("userdetails.jsp\nUser name: "+user.getUserName()+"\nUser age: "+user.getUserAge());
%>
<span>User name: <%=user.getUserName()%></span><br>
<span>User age: <%=user.getUserAge()%></span>
</body>
</html>
I can see on the serverlog, the Logger.logUserDao()'s output, and there is the expected user. But I still see the first jsp on the screen.
