使用 servlet 提取信息并显示在 JSP

Pull info using a servlet and display on JSP

我不确定这是否是正确的术语,但我想从 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>");
  }
}

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

的文本框中获得

谢谢!

您需要使用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 内容,但您可以使用这些选项。

检查此 link: jQuery.get()

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

对用户来说,它们看起来好像在同一页面上,但实际上它们在一个看起来完全相同的新页面上。