js调用后台servlet方法实例

  1.使用document.form.action方式

  相关源码如下:

  *.js

  [javascript]

  

复制代码 代码如下:

  <span style="white-space:pre">  </span> document.getElementById("sendPerson").value = SendPerson;

  document.getElementById("currentTime").value = currentTime();

  document.getElementById("message").value = message;

  document.getElementById("recvPerson").value = recvPerson;

  document.chatform.action = "ToHistoryServlet";

  document.chatform.submit();

  *.html

  [html]

  

复制代码 代码如下:

  <!--the tag below is the params to the userHistory  [email protected]>

  <input type="hidden" name="sendPerson" id="sendPerson"> <input

  type="hidden" name="currentTime" id="currentTime"> <input

  type="hidden" name="message" id="message"> <input

  type="hidden" name="recvPerson" id="recvPerson">

  注意的是,input需指定name属性,这么servlet才可以获取到参数值

  *.java

  [java]

  

复制代码 代码如下:

  public void doPost(HttpServletRequest request, HttpServletResponse response)

  throws ServletException, IOException { www.glzy8.com

  String sendPerson = request.getParameter("sendPerson");

  String recvPerson = request.getParameter("recvPerson");

  String sendTime = request.getParameter("currentTime");

  String message = request.getParameter("message");

  Message msg = new Message();

  msg.setMessage(message);

  msg.setRecvPerson(recvPerson);

  msg.setSendPerson(sendPerson);

  msg.setSendTime(sendTime);

  HistoryHandle.addMessage(msg);

  }

  这个缺点是页面就跳走了,要是希望保持原页面,可以参照方法2

  2.jquery调用后台方法

  [javascript]

  

复制代码 代码如下:

  $.ajax({

  type : "POST",

  contentType : "application/json",

  url : "ToHistoryServlet?sendPerson=" + SendPerson + "¤tTime="

  + currentTime() + "&message=" + message + "&recvPerson="

  + recvPerson,

  dataType : 'json',

  success : function(result) {

  alert(result.d);

  }

  });

  代码量小,使用方便,值得推荐。。。