是否可以在单个jsp页面中有两个servlet连接

时间:2014-03-02 05:37:59

标签: java jsp servlets

我创建了包含

的1.jsp文件

NAME

CARNAME

ADDRESS

使用servlet编码(1.servlet)将此字段添加到数据库(table1)

在(2.servlet)中,我编写代码,好像用户给出的carname与数据库(table2)相同,它将从表2中检索代理名称

显示在(2.jsp)中。

我如何链接这些?

1.jsp页面 车名称

         <input type="text" name="carname" value=""  /><br><br>

1.servlet

在此我编写代码以在table1中插入carname

2.servlet

在此我编写代码,用于检索用户从table2给出的carname的agencyname,并显示在2.jsp

1 个答案:

答案 0 :(得分:0)

奇怪的要求,但如果你需要的话,你可以通过servlet调度程序转发功能来完成。 1.jsp收集数据,取所有3个字段并使用请求调度程序转发到1.servlet,当1.servlet完成时,只需调用另一个请求调度程序并将控制转发到2.servlet,最后转发到2.jsp用于渲染到html。

JSP - &gt; 1.servlet

ServletContext sc = this.getServletContext();
RequestDispatcher rd = sc.getRequestDispatcher("/tst/1.servlet");
rd.forward(request, response);

1.servlet - &gt; 2.servlet

ServletContext sc = this.getServletContext();
RequestDispatcher rd = sc.getRequestDispatcher("/tst/2.servlet");
rd.forward(request, response);

2.servlet - &gt; 2.jsp

ServletContext sc = this.getServletContext();
RequestDispatcher rd = sc.getRequestDispatcher("/jsp/2.jsp");
rd.forward(request, response);

请注意,forward()方法清除输出缓冲区。因此,只有2.jsp有任何数据要发送回浏览器。如果您需要传递额外信息,则必须通过会话或请求属性传递它。