我现在用表单可以把JSP的数据传递给servlet接收,servlet用request.getParameter可以接收JSP的表单数据,
然后JSP也可以用<jsp:useBean>来与javabean的get,set方法互通数据,现在正想知道怎么把servlet处理完javabean后的数据传递回JSP然后在JSP中显示出来
(例如:在JSP把账号密码信息传递给servlet,servlet再调用javabean连接数据库处理账号密码信息,登录成功后,servlet把账号信息返回JSP页面,并在JSP页面显示"欢迎XXX用户登录此网站")我是新手,希望大家能给予帮助(尽量详细点用什么方法什么语句把servlet的数据传递给JSP页面,谢谢大家)

解决方案 »

  1.   

    在Servlet中,把需要设置的值对象用 request.setAttribute("name", "value");在JSP中,可以直接用EL来取值对象,也可以直接:
    <%=request.getAttribute("name")%>
    <% 
      String str = request.getAttribute("name");
    %>
      

  2.   


    又是你,呵呵。一个网站是不是只创建一个Servlet.java还是创建多个Servlet.java的?因为如果只创建一个Servlet的话,大量代码就集中在同一个Servlet里面咯??刚才按你的方法试了下,获取不到值,显示是null,因为我有2个Servlet的原因???还是我写的位置不对?我写了在DoGet方法里面,下面是简要代码
    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
    String userID = (String)request.getParameter("userID");
    request.setAttribute("userID", userID);
    response.sendRedirect("View/Graduate_index.jsp");
    }在A.jsp中获取userID,然后经过Servlet处理后,返回userID给B.jsp
    在B.jsp中:
    欢迎<%=request.getAttribute("userID")%>登陆本网站~!
      

  3.   

    转发到jsp视图用sendRedirect?那你肯定取不到任何值了,sendRedirect方法中request对象放入的属性值,不能给跳转到的页面使用,要用forward方法。
      

  4.   


    我原本用forward方法的,但用forward方法转到JSP页面时,原本JSP页面的图片不见了,超链接也连接不上了
      

  5.   


    我原本用forward方法的,但用forward方法转到JSP页面时,原本JSP页面的图片不见了,超链接也连接不上了如果用sendRedirect方法的话,地址是:http://localhost:8080/zpw/View/Home_index.jsp
    如果用forword方法的话,地址是:http://localhost:8080/zpw/Servlet用forword方法他的地址没跳转到JSP页面的地址,那么原来在JSP中的图片和超链接都没效果?
      

  6.   

    RequestDispatcher disp = null;
    disp = request.getRequestDispatcher("/View/Home_index.jsp");
    是因为我的地址写得不对?
      

  7.   

    估计是地址的问题吧,你自己看看这篇blog:
    http://zzqrj.iteye.com/blog/806909
      

  8.   


    如3楼所说,用sendRedirect,就意味着本次服务彻底结束,浏览器根据sendRedirect的要求,重新发起新的连接,那么request也就是全新的request,必然什么attribute都没有了。但是如果用forward的话,将面临另一个问题,就是URL仍然是Servlet的URL,那么JSP页面上的图片等资源,必须以Servlet的URL位置来写,否则相对路径就什么都找不到了。所以一般建议JSP里面所有资源和超链接,用绝对路径而非相对路径。
    顺便回答你2楼的问题:一个网站是不是只创建一个Servlet.java还是创建多个Servlet.java的?因为如果只创建一个Servlet的话,大量代码就集中在同一个Servlet里面咯??
    这就是MVC架构出来的原因,所有代码都集中在一个Servlet里面显然是不合理的。所以MVC架构区分 控制器、模型和视图。建议你参考下Spring-MVC,这个还比较方便。
      

  9.   

    感觉两位大神的帮助~!其实我一直不想用绝对路径的,因为这程序做好后要在别人的机器上运行,所以路径不想写死,现在看来只能用request+绝对路径了,问题已解决了~!