Java servlet未接收请求属性

Java servlet未接收请求属性,java,jsp,servlets,Java,Jsp,Servlets,我目前正在开发一个web应用程序,我想在其中更新用户操作是否成功。我试图通过设置请求属性和从一个servlet转发到下一个servlet来实现这一点。但是,该属性在接收控制器中始终为null 设置属性的代码块: try { updateXRef(request, response, cmds); } catch (Exception e) { request.setAttribute("results", "

我目前正在开发一个web应用程序,我想在其中更新用户操作是否成功。我试图通过设置请求属性和从一个servlet转发到下一个servlet来实现这一点。但是,该属性在接收控制器中始终为null

设置属性的代码块:

try {
                updateXRef(request, response, cmds);
            } catch (Exception e) {
                request.setAttribute("results", "Error encountered. Contact system administrator.");
                push(request, response);
            }
            request.setAttribute("results", "Update Successful");
            push(request, response);
        }

        else {
            push(request, response);
        }
发送到另一个servlet的方法:

private void push(HttpServletRequest request, HttpServletResponse response) {
        String url = "/PushServer";

        try {
            request.getServletContext().getRequestDispatcher(url).forward(request, response);
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
以及处理请求的servlet:

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


        if(FileFactory.getFileOperationsObject() == null || request.getParameterValues("input") == null) {

            initiliaze(request, response);

            String url = "/Display.jsp"; 
            request.setAttribute("xRefFile", FileFactory.getXRefFileObjects());
            request.setAttribute("platforms",FileFactory.getUniqueSortedPlatforms());
            request.setAttribute("showModal", 0);

            if(request.getParameter("results") == null) {
                request.setAttribute("results", "Update Pending");
            }

            request.getServletContext().getRequestDispatcher(url).forward(request, response);

        }

我唯一的猜测是,一个新的请求正在以某种方式生成。如果这确实是正在发生的事情-我如何避免它?

问题在于方法选择

request.getParameter(“yourAttributeName”)
仅用于从.jsp页面检索表单数据(
)-aka数据以及查询参数

如果希望将信息从一个Java servlet发送到另一个Java servlet,如上述代码所示,则必须使用:

getAttribute(“myAttributeName”)


getParameter(“结果”)
!=
getAttribute(“results”)
@praveenkumarlasangi这不是链接线程的副本。链接线程关注值变为null的原因。这个问题可以通过getAttribute和getParameter之间的差异来证明,并且答案要简洁得多。我请求您删除“重复”标记。@praveenkumarlasangi如果您要将合法问题标记为重复问题,那么您可能希望正确地执行此操作。问题:回答我的问题,你链接的问题没有。顺便说一句,对一个问题的评论很难作为答案,因为我相信重复的问题不一定是坏的;对同一问题的不同描述有助于未来的访问者找到他们想要的答案。所以收回标志。
getParameter()
用于检索查询参数以及表单数据。