servlet中能够相互传值吗

来源:百度知道 编辑:UC知道 时间:2024/05/14 11:54:54
在网上怎么查不到相关的信息呢?
通过SERVLET_A从数据库中取得信息。
然后再跳转到另一个SERVLET_B中去、
再通过SERVLET_B跳转到一个页面中、
并且在这张页面中加载相关有效数据。
这样的思想能够实现吗?

Sverlet相互传值可以使用跳转的形式,总共有两种,如下:
1) redirect方式[效率不高]
request和response没有传给目标页面
response.sendRedirect("/a.jsp");
页面的路径是相对路径。sendRedirect可以将页面跳转到任何页面,不一定局限于本web应用中,如:
response.sendRedirect("URL");跳转后浏览器地址栏变化。
这种方式要传值出去的话,只能在url中带parameter或者放在session中,无法使用request.setAttribute来传递。
传值:HttpSession session =request.getSession();
session.setAttribute("bbbb", 1111111111);
取值:session.getAttribute("bbbb");

传值:RequestDispatcher rd =application.getRequestDispatcher("/queryResult.jsp?a="+000);
取值:request.getParameter("a")

2) forward方式[更多地使用此方法进行服务器端的跳转]
ServletContext application =this.getServletContext(); //this是这个页面
RequestDispatcher rd = application.getRequestDispatcher("/目标页面");
rd.forward(request, response);
Servlet页面跳转的路径是相对路径。forward方式只能跳转到本web应用中的页面上,跳转后浏览器地址栏不会变化。
使用这种方式跳转,传值可以使用三种