具体情况是这样的,我从1.jsp提交到一个servlet,这个servlet接收到1.jsp产生的request(1号request),再从这个servlet转到2.jsp,提取一些参数后,转到另一个servlet,我希望第二个servlet能同时处理1号request和2.jsp的参数。
按照我上面的想法可以实现吗,还是根本就不可能呢,如可能的话如何实现呢?
还有一个问题,servlet之间可以传递request吗,怎么搞呢?老手请帮个忙,指条路,谢了!

解决方案 »

  1.   

    当然可以不过你在servlet里面转向到2.jsp时 要用forward方法
      

  2.   

    在2。jsp里面做一个隐藏域,把1号请求的东西放到隐藏域里面,然后最后再取回去处理
      

  3.   

    谢谢上面两位。
    看来想法是可行的,不过,具体如何做还是比较糊涂。问题1
        一个servlet如何把接收到的request传给另一个jsp呢,是这样写吗:
        RequestDispatcher rd = request.getRequestDispatcher("2.jsp");
        rd.forward(request, response);
    这样就可以在2.jsp中用request.getParameter("NUMBERONE");这样的语句取出request中的值了,对吗?   
    问题2
        我的参数比较多(就是1号request中的东西),照ymfhcn的说法,2.jsp中先要get一堆,然后再写一堆<input name="name" type="hidden" value="value" ...>之类的东西,再把页面提交到另一个servlet中。对吗?请具体点说,举例更好...
      

  4.   

    你可以用session啊! 我现在正在做和你差不多的问题
    在第一个servlet里面用
    HttpSession session = req.getSession();
    session。setAttribute("键值",对象);
    RequestDispatcher rd=req.getRequestDispatcher(URL);
    rd.forward(req,res);这样就可以在第二个servlet里用了
      

  5.   

    问题1
        一个servlet如何把接收到的request传给另一个jsp呢,是这样写吗:
        RequestDispatcher rd = request.getRequestDispatcher("2.jsp");
        rd.forward(request, response);
    这样就可以在2.jsp中用request.getParameter("NUMBERONE");这样的语句取出request中的值了,对吗?   //////////
    正确
      

  6.   

    我的那个request中东西很多,大概有40多项,放到session中会影响效率吧?
      

  7.   

    问题1:
    还没有完全解决问题的
        request.setAttribute("test","tetss");
        RequestDispatcher rd = request.getRequestDispatcher("2.jsp");
        rd.forward(request, response);
    这样才能将对象传过去,名字就是"test",对象就是字符串"tetss"(这里举个例,可以是其他对象的)。
        在2.jsp中<%String t=(String)request.getAttribute("test");%>就可以接收这个对象了
    问题2如你所说,只有这个办法