karena1314ait 2019-06-15 14:14 采纳率: 100%
浏览 609
已采纳

如何用request.getAttribute接收另一个servlet的request.setAttribute

本人在学习servlet的,发现在一个Aservlet中setAttribute后,再Bservlet中用getAttribute中拿不到,查了很多信息都说要使用request.getRequestDispatcher(),但是request.getRequestDispatcher()只有在Bservlet中使用有效,如何在Aservlet中使用求大神指导具体怎么用,怎么实现Aservlet的setAttribute在Bservlet中getAttribute?

 Aservlet中的setAttribute

 protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
    request.setAttribute("imessage","hi,fServlet,i'm hServlet");
}


    Bservlet中的getAttribute

           String imessage =request.getAttribute ("imessage").toString();
    if(imessage!=null&&!"".equals(imessage)&&imessage.contains("hServlet")){
        response.getWriter().print("hi,hServlet,i'm fServlet,i'm waitting for you!!!");
    }else {
        response.getWriter().print("nobodys!");
    }
}
  • 写回答

1条回答 默认 最新

  • weixin_45246870 2019-06-15 14:53
    关注

    在Aservlet request.setAttribute之后你需要转发到Bservlet,这样Bservlet才能获取的值
    request.setAttribute("imessage","hi,fServlet,i'm hServlet");
    request.getRequestDispatcher(Bservlet的路径).forward(request,response);
    你还可以用session对象来存储获取值

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?