在jsp页面和Servlet之间进行通信的最佳方式是什么?

时间:2015-04-29 02:40:26

标签: java jsp servlets

我正在Eclipse中创建一个动态Web项目,无法弄清楚如何从用户发送请求(通过按钮单击)到将执行某些操作(包括数据库查找)的servlet,然后填充网页格式化的结果。我创建了所有数据库查找功能。做这个的最好方式是什么?我只需要将一个String传递回servlet,这将是我希望作为ArrayList返回的书籍的“类别”。有些消息来源似乎表明jsp页面甚至不应该用于将信息转发给servlet,所以我很困惑。

2 个答案:

答案 0 :(得分:4)

有几种方法可以做到这一点:

  1. 表格提交

    <form action="/myServlet" method="post">
        <input type="text" name="category" id="category"/>
        <input type="submit" value="submit" id="btnSubmit"/>
    

    然后在你的servlet代码(doPost())中:

    String category = request.getParameter("category");
    
  2. 使用ajax(jQuery ajax更清晰)

    $.ajax({
        method: "POST",
        url: "/myServlet",
        data: { category: $("#category").val()} //post category field
    }).done(function( msg ) {
        alert( msg ); //alert html returned from servlet 
    });
    
  3. JQuery Ajax(get)

    $("btnSubmit").click(function(event){
        event.preventDefault();
        $.get("/myServlet", function(data, status){
            alert("Data: " + data + "\nStatus: " + status);
        }); 
    });
    

答案 1 :(得分:1)

您可以发送&#34;类别&#34;参数在URL中写入: Servlet /?category = scifi并使用request.getParameter(&#34; category&#34;);在doGet方法中。

相关问题