使用servlet拉取信息并在JSP上显示

时间:2015-03-17 17:49:52

标签: java jsp servlets

我不确定这是否是正确的术语,但我想从servlet中提取一些信息并将其显示在我的JSP页面上。

这就是我在servlet中使用的内容:



protected void processRequest(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
  response.setContentType("text/html;charset=UTF-8");
  try (PrintWriter out = response.getWriter()) {
    /* TODO output your page here. You may use following sample code. */
    out.println("<!DOCTYPE html>");
    out.println("<html>");
    out.println("<head>");
    out.println("<title>Servlet AccountLookupServlet</title>");
    out.println("</head>");
    out.println("<body>");
    String i, id, typ;
    double bal;
    i = request.getParameter("custid");
    try {
      Account c1 = new Account();
      c1.selectDB(i);
      id = c1.getCid();
      typ = c1.getType();
      bal = c1.getBalance();
    } catch (Exception e) {
      System.out.println(e);
    }
    out.println("</body>");
    out.println("</html>");
  }
}
&#13;
&#13;
&#13;

这个servlet正在做的只是从主jsp页面获取用户id,然后运行一个连接到数据库的对象并提取所有必需的信息。这一切都很好用。现在通过pull,我的意思是当用户单击主jsp上的查找按钮时,它应该运行(而不是重定向)到servlet,servlet将执行上述所有操作,然后显示它在文本框中获取的信息。主要的jsp。

谢谢!

2 个答案:

答案 0 :(得分:0)

您需要使用Ajax来调用Servlet并以静默方式返回数据。为此,最好使用JQuery ajax进行出价。

以下是单击按钮时调用GET请求的示例:

       $('#button-id-goes-here').click(function ()
        {
            $.get( "your-url-for-servlet", function( data ) {
              // data is the response output from servlet
              $("#view-id-goes-here").html(data);
            });
        });

这段代码的作用很简单。它在单击按钮时调用servlet URL,然后在给定id的视图中设置响应数据。在此处将数据设置为HTML内容,但您可以使用选项。

检查此链接: jQuery.get()

答案 1 :(得分:0)

实际上我并不想使用AJAX来产生结果,因为我的项目不需要这样做,但我想这种方法有效。在做了更多研究并与我的教授交谈之后,我得出的结论是,在提取信息后你不会登陆同一页面。您只需创建另一个页面,该页面使用与拉出的所有信息相同的设置。

对于用户而言,它看起来好像在同一页面上,但实际上它们位于看起来相同的新页面上。